From: dstamp@watserv1.waterloo.edu (Dave Stampe-Psy+Eng)
Subject: Re: 3D renderer Progress
Date: Fri, 17 Jan 1992 05:34:29 GMT
Message-ID: <1992Jan17.053429.22853@watserv1.waterloo.edu>
Organization: University of Waterloo



More renderer news: with the C implementation, speed seems to have settled
at 8.5 fps.  Use of a profiler shows that most of the problem is in the
way C handles structure accesses, but I will have to rewrite that stuff
in assembler to get the best possible speed.  I expect a 2:1 improvement
once that is done.

Most of the math has now been integerized, but this doesn't result in
much speedup on a 486, where the tightly-coupled coprocessor is actually
faster than integer math for multiplies by a factor of 3.  But this
will help on 386 machines.  Integerization is being implemented by
adding inline assembler code, which means that C can still be used to 
debug the code and try out new features.

The polyblit code I did last year will need to be rewritten to get top 
speed.  I'd like to remove the clipping as this costs about 20% in speed,
and the renderer does it now.  Also, support for multisided convex polys
would be nice.

Speaking of new features, I just finished adding cosine lighting to
the renderer.  Wow!  Really makes the objects come alive, seeing the
polys facets flash as the objects move.  It's worth the 5-10mS cost
per frame, IMO.  Now to finish that integer square root...


--------------------------------------------------------------------------
| My life is Hardware,                    |                              | 
| my destiny is Software,                 |         Dave Stampe          |
| my CPU is Wetware...                    |                              | 
| Anybody got a SDB I can borrow?         | dstamp@watserv1.uwaterloo.ca |
__________________________________________________________________________
