Index: [thread] [date] [subject] [author]
  From: teunis <teunis@computersupportcentre.com>
  To  : GGI mailing list <ggi-develop@eskimo.com>
  Date: Wed, 19 Aug 1998 11:20:38 -0700 (MST)

Re: LibGGI3D RFC

On Wed, 19 Aug 1998, James A Simmons wrote:

[clip]
> 
> Yes. Also can use RAPID for collison detect. RAPID is fast but only works
> with triangles

First - what's RAPID?  (never heard of it - but I haven't exactly got a
lot of info on 3D rendering beyond what I've written myself and a buncha
math-texts and the like - oh and OpenGL dox)

> > * 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....

> > 
> > * 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)

> > Q: Why are coordinates floating point numbers?
> > 
> > A: Because it aloows for finer control of rasterization, perspective
> > transforms and can easily be quantized into integer coordinate systems
> > when needed.
> > 
> Yes and floating point on most platforms is alomost the same speed in
> clock cycles as interger math.

and AFAIK faster on -Intel-(!) Pentium (and above), PowerPC, MIPS, Alpha,
and maybe others (68K? Dunno here).  Incidentally, clones of Intel chips
(Cyrix as an example here) tend to be slower in FPU last I saw...  but
still are fast.  (integer add/subtract is usually faster (not on
Pentium-II), integer multiply/divide tends to be scads slower)

G'day, eh? :)
	- Teunis

Index: [thread] [date] [subject] [author]