Index:
[thread]
[date]
[subject]
[author]
From: Jon M. Taylor <taylorj@ecs.csus.edu>
To : ggi-develop@eskimo.com
Date: Wed, 19 Aug 1998 17:24:21 -0700 (PDT)
Re: LibGGI3D RFC
On Wed, 19 Aug 1998, teunis wrote:
> On Wed, 19 Aug 1998, James A Simmons wrote:
>
> > > * int DrawTriangle (float x1, y1, x2, y2, x3, y3; shader_index shader; void
> > > *shader_data) is the core drawing function.
> >
> > Should go into the kgi drivers accel.
>
> Correct - but we need more thought 'cause all 3D cards I know of can do a
> -lot- [and tend to require Z coords etc.. as well]. The S3 ViRGE is no
> exception here...
>
> Incidentally, how do you pickup the size of a "void* shader_data" for
> transfer into kernelspace? AFAIK size was needed....
Each shader_data struct type for the KGI driver in question will
be defined in a header file that both the KGI driver and the LibGGI diaply
target for that driver will #include. Then you just do a sizeof(). Note
that this KGI driver shader_data struct may not be the same as the
LibGGI3D shader_data struct.
> > > * int DrawTriangleSet(triangle_set *triset; shader_index shader; void
> > > *shader_data) draws set of triangles, which can be used to draw polyhedra
> > > for hardware like infinite planes. If future hardware can draw surfaces
> > > directly, triangle-based surface patches can be used with this function as
> > > well.
> >
> > Should kgi drivers support triangle sets? IMHO no.
>
> IMHO yes. Faster transfer from userspace->kernelspace and besides, the
> code needed is -really- small. (worst case around maybe 4K IIRC but I
> could be wrong here - it's been a while since I last built a decomposer)
Good point. If KGI ever gets a general-purpose command-batching
system, this could be part of it.
Jon
---
'Cloning and the reprogramming of DNA is the first serious step in
becoming one with God.'
- Scientist G. Richard Seed
Index:
[thread]
[date]
[subject]
[author]