[sci.virtual-worlds] Real-time raytrace -- get serious!

cdshaw@scapa.cs.ualberta.ca (Chris Shaw) (05/14/91)

In article <IsntCut&PasteWonderful?> Filip Gieszczykiewicz writes:

> Greetings. Well, I finally got my 486/25 (25MHz)
> 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.
>Filip Gieszczykiewicz  

Whoa, there. That's quite a simple model you traced! Plus you don't say
how deep the reflection tree goes, what the stuff is "made" of....
Also, the 486/25 is a pretty decent CPU. Not the hottest on the planet, but
not shabby either.

So fine, you got a simple model, a fast-ish CPU, a small screen, and 
it takes 2 minutes. To get 0.5 seconds (the absolute minimum)
you need a speedup of 2*60*2 = 240. Just buying 240 486/25's is 
going to cost you $500,000 !!
 
With that kind of money you can buy 1,000,000 gouraud shaded polygons 
per second, without sweating the frame buffer sharing required by a parallel,
real-time ray tracer. After all, the ideal machine for tracing rays is the AT&T
Pixel Machine, and that doesn't deliver real time ray tracing, either!

-- 
Chris Shaw     University of Alberta
cdshaw@cs.UAlberta.ca           Now with new, minty Internet flavour!
CatchPhrase: Bogus as HELL !

rodent@netcom.COM (Ben Discoe) (05/16/91)

cdshaw@scapa.cs.ualberta.ca (Chris Shaw) writes:

> Filip Gieszczykiewicz writes:
>
>> Greetings. Well, I finally got my 486/25 (25MHz)
>> Real-time raytracing is not as far away as most of you led me
>> to believe.... 
>
>Whoa, there. That's quite a simple model you traced!
>So fine, you got a simple model, a fast-ish CPU, a small screen, and 
>it takes 2 minutes. To get 0.5 seconds (the absolute minimum)
>you need a speedup of 2*60*2 = 240. Just buying 240 486/25's is 
>going to cost you $500,000 !!

Everyone knows parallel's the way to go.  No, buying 240 expensive
CPUs isn't the right way - but buying a rack of cheap CPUs is an option
that i think has some promise.  68000s are cheap, and you could probably
(easily) find some other not-currently-hot chip that provides even
better processing/dollar.  A hardware rack could be built to handle
as many cheap CPUs as you could buy - the bus only needs to handle
minimal data.  With 64 68000s you spend around $350 for the CPUs and
probably $500 for the bus, rack and glue hardware.  Of course this doesn't
include design costs... but when people are spending $4000 to $6000
on fancy MacIIs and Amiga3000s to get the raytracing-power of 15-20
68000s, you realize there is a ready market for an open-ended "raytracing
box" that could handle N cheap CPUs.  Of course, giving each processor
it's own memory would be necessary and reasonably expensive... but
you could download different parameters and get extremely fast mandelbrot
sets from the same hardware.  I think this could be done at a final
cost of less than $2000, even less in kit form.

This gives us something to do with those millions of old CPUs going out
of date.  OK now, somebody tell me this is all silly.

-------------------
Ben Discoe, radical ecologist, computer scientist, visionary at large. 

kovach@rtc.atk.com (Pete Kovach) (05/16/91)

Chris Shaw writes -

>$500,000 !
>
>With that kind of money you can buy 1,000,000 gouraud shaded polygons 
>per second, without sweating the frame buffer sharing required by a parallel,
>real-time ray tracer. After all, the ideal machine for tracing rays is the 
>AT&T Pixel Machine, and that doesn't deliver real time ray tracing, either!

$500,000??????  Are you serious!. Geez, get a Silicon Graphics machine.
Save yourself a LOT of money and have a better machine by far!
-- 
Peter Kovach

Sig - We don't need no stinking sig! 

jet@karazm.math.uh.edu (J Eric Townsend) (05/17/91)

In article <1991May16.055359.2823@milton.u.washington.edu> rodent@netcom.
COM (Ben Discoe) writes:

>but when people are spending $4000 to $6000
>on fancy MacIIs and Amiga3000s to get the raytracing-power of 15-20

I don't know if there's a similar product for the Mac, but there's
at least one European firm selling transputer boards for the Amiga
including a raytracing engine that can deal with various input formats.

fyi,

25Mhz A3000's are on sale for < $3000 right now...  All you need is
the front manual page from a CBM computer (from the Vic-20 to the A2000).

I'm currently doing raytracing work on an ipsc/860 (not intended
to be realtime).  One of the real problems is the bandwidth of the
images.  You wann drop 15fps 4 bitplanes minimum NTSC to an Amiga for display?
(15*750*400*4)/8=2,250,000 bytes a second.  That's just under
the maximum node-to-node communications rate in the i860, and
you still haven't dealth with putting all the data together into
a single image (and I don't have an iPSC<->Zorro III card to bridge
the Intel machine and my Amiga :-).

--
J. Eric Townsend - jet@uh.edu - bitnet: jet@UHOU - vox: (713) 749-2126
Skate(UNIX || Amiga);

trebor@uunet.UU.NET (Robert J Woodhead) (05/17/91)

rodent@netcom.COM (Ben Discoe) writes:

>Everyone knows parallel's the way to go.  No, buying 240 expensive
>CPUs isn't the right way - but buying a rack of cheap CPUs is an option
>that i think has some promise.

In the late '70s, I took a computer graphics course by Greenberg at
Cornell University.  For my final paper I designed a distributed
computation real-time 3D hidden-surface rendering system using
multiple 6502-level microprocessors.

The system was a heirarchy of processors.  A toplevel processor
handled communications with the outside world; you could send the
system information like "add or delete a polygon from the database"
and "the current eye orientation is so and so."  The next level
had N processors that rasterized the polygons into "for scan line
Y, start at position X1, depth D1 and go to position X2, depth
D2 in color C."  These were sent through a communications layer
(this made the hardware simpler) to M rendering processors, each
of which handled 1 Mth of a Z-buffer.

The idea was you could be flexible and add/remove cheap processors
to get real-time performance for as complicated a scene as you
were willing to pay for.  It wouldn't be a fancy ray-traced image,
but you'd get as good results as the current VR stuff.

I was seriously pissed when I only got a B on the paper because,
in the words of whoever assigned the grade (maybe a scummy grad
student! grr!), the concept was "totally impractical, impossible
to build, etc."

It was my first lesson in the costs of being ahead of your time.
;^)

-- 
+--------------------------------------------------------------------------+
| Robert J. Woodhead, Biar Games / AnimEigo, Incs.   trebor@foretune.co.jp |
| "The Force. It surrounds us; It enfolds us; It gets us dates on Saturday |
| Nights." -- Obi Wan Kenobi, Famous Jedi Knight and Party Animal.         |

gilbertd@project4.computer-science.manchester.ac.uk (Dave Gilbert) (05/21/91)

The idea of using loads of cheap low power CPU's doesnt hold.  OK all your CPU's
are going to be cheap - but what about the cost of all the glue and the RAM
and othere useful stuff like that.  Then you probably find the comms over
head of shifting fairly large amounts of data around between low power
CPU's is enourmous.

The trick (in my opinion) is to use cheap powerful chips - OK this would
sound like a contradiction in terms but it realy means RISC - Risc chips are
dirt cheap - say #40 (pounds sterling) - and deliver a reasonable through put.

I did here it quoted that for true Real time ray tracing (i.e. a reasonable
amount of stuff in 1/50th second - sorry all you Americans wanting 1/60th
you'll just need more processor power) you would need about 8GFlops - thats
a hell of a lot of power.

Dave

-- 
-------------------------------------------------------------------------------
- Dave Gilbert - gilbertd@p4.cs.man.ac.uk - The MTBF of a piece of equipment  -
-                G7FHJ@GB7NWP             - is inversly proportional to its   -
------------------------------------------- importance                        -