From: dstamp@watserv1.waterloo.edu (Dave Stampe-Psy+Eng)
Subject: Re: Superscape 3D Construction Kit Demo report
Date: Sun, 8 Dec 1991 02:35:46 GMT
Message-ID: <1991Dec8.023546.6930@watserv1.waterloo.edu>
Organization: University of Waterloo


mccool@dgp.toronto.edu (Michael David McCool) writes:

>dstamp@watserv1.waterloo.edu (Dave Stampe-Psy+Eng) writes:
>
>>An interesting feature is the use of spheres as well as polygons, and 
>>semi-transparent polygons for windows (using halftones).  These are simple 
>>tricks which may be useful to remember.  Spheres look like circles from any
>>angle, so you just add a filled-circle drawing routine and compute a radius
>>(based on depth) and a center point coordinate.  Transparancy is simple and
>>I may add it to my poly blitter in a month or so.
>
>Just a note:  spheres project to ellipses, not circles.  Consider the
>intersection of a cone with a flat plane representing the screen.  The
>point of the cone is the eye, and the sphere fits inside the
>cone.  If this is done, and the geometry is right (ie the eye is where
>the computation expected it), then the sphere will APPEAR to be a 
>circle from the eye.  Ellipse drawing routines are almost as 
>fast/easy as circle routines anyways.
>
>Another trick for spheres: draw several concentric ellipses
>to simulate shading on the sphere.
>
>In a low-end VR system probably using the circle approximation is
>a reasonable thing to do, as long as it doesn't become a habit :-)
>Actually, painters often use a circle anyways because the geometry
>for viewing a painting is almost never right anyways, and a circle
>looks better from arbitrary viewpoints.  But in VR using eyephones,
>you KNOW where the eye will be, so there's no excuse.
>
>Nothing personal, it's just that this assumption comes up again and
>again, and seems perfectly reasonable, but just happens to be wrong.

I think there are good reasons why the "sphere approximation" is used:
First, the resolution of this package is so low that distortions will
not be noticed (the slow frame rate helps too, as motion parallax
is low).  Also objects such as bushes consist of several "spheres".

The advantage to this "approximation" as opposed to ellipses is that
a "sphere" is drawn the same from any viewing point.  If you need an
ellipse, and its axes are not X-Y aligned, it becomes difficult
to draw fast.  The type of drawing algorithm for circular or axis-
aligned ellipes is: look up the vertical fraction in a table, scale
by the horizontal size, reflect around the median, and connect the
points with a horizontal line fill (exactly the way the renderer draws
polygons).  So this means it's a tiny extension to the renderer, and
you get very high speed.  I could put this in my renderer, but not the
full ellipse stuff.

Thanks for pointing out the problem.  Because of eyephone's large FOV,
the distortion could be very large indeed.

--------------------------------------------------------------------------
| 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 |
__________________________________________________________________________
