From: lance@motcsd.csd.mot.com (lance.norskog)
Subject: Re: Real-time raytrace and some related "ramblings"
Date: 14 May 91 02:40:16 GMT
Organization: Motorola CSD, Cupertino CA



fmgst@unix.cis.pitt.edu (Filip Gieszczykiewicz) writes:

>        Greetings. Well, I finally got my 486/25 (33MHz was a _bit_ above
>        my budget :-) First thing I did was a "benchmark". I ran an
>        older version of qrt (Quick RayTracer - author:???). After studing
>        the results, something dawned on me:

>        Real-time raytracing is not as far away as most of you led me
>        to believe.... Why? Well, I did a 320x200x~256 image of a
>        sphere, 1/2 cylinder "pillar", and a room with brick walls (one of the
>        files included in the .ZIP file). It took less than 2 minutes.


Yes, I noticed how fast QRT is.  DKBtrace has options for not doing
various levels of tracing, also.

Ray-tracing is inherently 2D, while radiosity is inherently 3d.
Ray-tracing works from the eye to a background, radiosity works from
a light source until the light peters out.  You can do a radiosity
pass once, and save all the surface pixels in a 3D sparse data structure.
(Voxels are one technique.)  Then, just move around the 3-space and
continuously walk the data structure, displaying successive images
from your pre-computed database.  You can't move the objects, and
you yourself are transparent (no visible effect on the shading)
but it's computationally much less intensive.  

Also, radiosity gives a more realistic, software look.  Check some
computer graphics books.

Takes a lot more RAM, though.  You have to store enough detail for
each surface that it looks OK close up.  Also, you have to move
through the database quickly using a 3D line-drawing algorithm.
It is pre-sorted, though.

I guess you could use weighted average shadings from neighboring 
voxels if you're close enough to see a flat shaded polygon.
In custom fixed-point arithmetic, it might even be fast enough.

Lance Norskog
thinman@netcom.com

