[comp.graphics] Realtime Raytracing demo on a PC... Anybody wanna see?

ap@tukki.jyu.fi (Patric Aalto) (01/08/91)

Hi!

I just finished a small demo I have been working on a couple of months.
It performs real-time ray-tracing and shading (a sort of mixture of them
both) on an IBM PC-compatible computer with VGA graphics. I find it pretty
impressive (although the environment is pretty simple: It has a planet,
a moon and a sun). It runs at 70 frames/second on my 80386/20 Mhz machine.

So, is anybody interested to see this? If so, where should I upload/send
this demo? It is an .EXE program of about 15KB, programmed in assembler
and Turbo Pascal. (Sorry, sources not available, at least not yet :-).

Requirements to run this demo are:
  - VGA-card that is register-compatible with IBM model. (Demo uses the
    non-BIOS-supported 320x400x256 mode).
  - A faster-than-4.77Mhz CPU (though this is not absolutely necessary,
    you probably don't want to view this on a standard PC. :-)

This demo also shows how fast it runs on your computer (frames/second),
so you can use it for testing this also.

Patrick Aalto

ong@d.cs.okstate.edu (ONG ENG TENG) (01/09/91)

From article <61606@masscomp.ccur.com>, by mark@calvin..westford.ccur.com (Mark Thompson):
> In article <1991Jan8.072628.13689@tukki.jyu.fi> ap@tukki.jyu.fi (Patric Aalto) writes:
>>I just finished a small demo I have been working on a couple of months.
>>It performs real-time ray-tracing and shading (a sort of mixture of them
>>both) on an IBM PC-compatible computer with VGA graphics. I find it pretty
>>impressive (although the environment is pretty simple: It has a planet,
>>a moon and a sun). It runs at 70 frames/second on my 80386/20 Mhz machine.
> 
> Yeah right....and pigs can fly. It takes an AT&T pixel machine (which
> cranks out more MFLOPS than a roomful of 80386/20 Mhz machines) about
> 3 seconds to ray-trace a simple image. Sounds to me like you are doing
> some SERIOUS cheating.

Accusations aside, does anyone have a relatively simply program to
do ray-tracing on PC.  It might require math coprocessor or massive amout of
EMS or XMS memory or RAM drive, and it might take 2 weeks to do the job,
but just so I can see what myself what's in there.  (please, no books, unless
it's got a ray-trace program in it).

Thanks in advance.

E. Teng Ong (ong@d.cs.okstate.edu)

dbuck@ccs.carleton.ca (Dave Buck) (01/09/91)

In article <1991Jan8.190941.16830@d.cs.okstate.edu> ong@d.cs.okstate.edu (ONG ENG TENG) writes:
>
>Accusations aside, does anyone have a relatively simply program to
>do ray-tracing on PC.  It might require math coprocessor or massive amout of
>EMS or XMS memory or RAM drive, and it might take 2 weeks to do the job,
>but just so I can see what myself what's in there.  (please, no books, unless
>it's got a ray-trace program in it).
>
>Thanks in advance.
>
>E. Teng Ong (ong@d.cs.okstate.edu)

My raytracer (DKBTrace) runs on a PC.  You can get it by anonymous ftp from
alfred.ccs.carleton.ca (134.117.1.1) or from the "You Can Call Me Ray"
BBS in Chicago at (708) 358-5611.

David Buck
dbuck@ccs.carleton.ca


-- 
_____________________________________________________________________
| David Buck                    | My employer is not responsible for|
| dbuck@ccs.carleton.ca         | my opinions.  I'm not even sure   |
|                               | I am.                             |

randys@cpqhou.uucp (Randy Spurlock) (01/09/91)

in article <1991Jan8.190941.16830@d.cs.okstate.edu>, ong@d.cs.okstate.edu (ONG ENG TENG) says:
> 
> From article <61606@masscomp.ccur.com>, by mark@calvin..westford.ccur.com (Mark Thompson):
>> In article <1991Jan8.072628.13689@tukki.jyu.fi> ap@tukki.jyu.fi (Patric Aalto) writes:
>>>
>>> ***** Claims and accusations deleted *****
>>>
> Accusations aside, does anyone have a relatively simply program to
> do ray-tracing on PC.  It might require math coprocessor or massive amout of
> EMS or XMS memory or RAM drive, and it might take 2 weeks to do the job,
> but just so I can see what myself what's in there.  (please, no books, unless
> it's got a ray-trace program in it).
> 
> Thanks in advance.
> 
> E. Teng Ong (ong@d.cs.okstate.edu)

I have a couple of public domain ray tracers [QRT (Quick Ray Tracer) and
DBW render and another one that I can't remember right now] I have the
source code and the executable ported to run under MS-DOS. They won't
ray trace in real-time but you can look at the source code to see how it
all gets done, aside from generating some cute pictures. If these programs
are not available from somewhere on the net I could post them, or mail them
to someone on the net so that other people can get them...sorry but there
is no FTP access here!

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          - Randy Spurlock -	      |      Compaq Computer Corporation    
---------------------------------------------------------------------------
These opinions are mine...all mine... | He fired his hyper-jets and...  
just ask anyone who's heard them!     | blasted into the 5th dimension!
--------------------------------------| 
UUCP: ...!uunet!cpqhou!randys         |                     Space Man Spiff
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 

fwb@hpfcdj.HP.COM (Frank Bennett) (01/11/91)

small Flame on!!

	It seems like this is one of the more popular topics for students
interested in making some sort of contribution to the field of Computer
Graphics. I think better areas for contribution might be in a modeler or
in 3D animation. I don't know of any PD software for either. (In "C" please)

	You may in well achieve "near real time" performance if you are
only procedurally tracing spheres, but in order to get in the ball game
review some of the following work:

o rayshade, weedeater.math.yale.edu, Craig Kolb
	Excellent "C" code  (if only everybody coded this good)
	Primitives include:
		sphere, triangle, triangle with normals, poly, plane
		cylinder, cone, heightfield, box, superq
	Features:
		depth of field
		jitter or adaptive supersampling for anti-aliasing
		3 light source types
		surface description
		texture & bump maps
		fog mist
	Algorithms:
		triangle intersection 
		Bounding Volume Hierarchy

o vort, munnari.oz.au 
	Has some interesting procedurally defines surface primitive.

o Dante, Eric Haines, 3DEYE & Hewlett Packard

	Build a model & view it in "real time" using polygons or NURBS,
then go get a raytraced or Radiosity rendition of the scene. The only
tracer I know which will trace Bspline patches.

o Wavefront

	Build a model, animate it ( that is get the key frames right ),
use splines to get the inbetweening right, then ask for raytraced frames
of interest.

Frank Bennett, Graphics Technology Division, Hewlett Packard
my views only, of course.

ap@tukki.jyu.fi (Patric Aalto) (01/11/91)

In article <61606@masscomp.ccur.com> mark@calvin.westford.ccur.com (Mark Thompson) writes:
>In article <1991Jan8.072628.13689@tukki.jyu.fi> ap@tukki.jyu.fi (Patric Aalto) writes:
>>I just finished a small demo I have been working on a couple of months.
>>It performs real-time ray-tracing and shading (a sort of mixture of them
>>both) on an IBM PC-compatible computer with VGA graphics. I find it pretty
>>impressive (although the environment is pretty simple: It has a planet,
>>a moon and a sun). It runs at 70 frames/second on my 80386/20 Mhz machine.
>
>Yeah right....and pigs can fly. 

:-)

>It takes an AT&T pixel machine (which
>cranks out more MFLOPS than a roomful of 80386/20 Mhz machines) about
>3 seconds to ray-trace a simple image.

Yes, I know.. And it takes many hours to raytrace a simple image using
QRT on a 80386/20 Mhz machine without math processor. Using the conventional
approach, that is (normalized real (double) -type vectors etc).

>Sounds to me like you are doing
>some SERIOUS cheating.

Sure. Or well.. Depends on what you mean with cheating? My demo does not
use the conventional approach to this problem, so feel free to say that
it DOES NOT do raytracing. The results LOOK LIKE raytracing though, so
what's the difference?-) I'm not cheating anything else than the computer
to do something it should not be able to do. Try out this demo and then say
what you think.

Patrick Aalto
ap@tukki.jyu.fi
tkp72@jytko.jyu.fi

ap@tukki.jyu.fi (Patric Aalto) (01/11/91)

Hi again!

I've been told that the demo I mentioned earlier can be found at
chyde.uwasa.fi (sorry, don't have the IP number here now) in the
directory PC/demo. 

I am trying to FTP it to other places as well. Thanks to all of you
who sent e-mail and showed interest in this demo. I tried to e-mail it
to everyone who asked for it, some of the mails kept bouncing, though.
So, if you asked me to e-mail it, and didn't receive anything, try to
e-mail me again, with as many reply address options as possible.

Patrick Aalto
ap@tukki.jyu.fi
tkp72@jytko.jyu.fi

Ps. Anyone yet able to share first impressions of it on the net?

erich@eye.com (Eric Haines) (01/11/91)

In article <17400021@hpfcdj.HP.COM> fwb@hpfcdj.HP.COM (Frank Bennett) writes:
>o rayshade, weedeater.math.yale.edu, Craig Kolb
>	Excellent "C" code  (if only everybody coded this good)

I agree - it's the best public domain ray tracer.  CSG coming soon!

>o Dante, Eric Haines, 3DEYE & Hewlett Packard
>
>	Build a model & view it in "real time" using polygons or NURBS,
>then go get a raytraced or Radiosity rendition of the scene. The only
>tracer I know which will trace Bspline patches.

Also does trim curves, textures & quadrics.  I did much of the ray tracer, but
lots of people are responsible for the creation of the whole package.  The
internal name is "Dante" (because it was hellish to implement), externally
it's the "Starbase Radiosity and Ray Tracing" package.  This package is a
library providing an additional set of calls to the Starbase graphics library,
and comes bundled in free with HP high-end graphics machines.  The radiosity
part of the package is unique to the marketplace (plug, plug) - no one else I
know has radiosity available commercially.

The only other radiosity package I know of is Greg Ward's RADIANCE software,
based on his research.  If seriously interested, contact:  gjward@lbl.gov


By the way, the "real-time raytracer" on the IBM PC is kinda cute:  some
little planets moving around the screen.  No shadows or reflections, and the
one planet that's shaded is rendered incrementally (using a 3D modification of
Bresenham's circle algorithm for XYZ locations, for example), so this whole
demo seems to be "ray tracing" without any rays.  Fast, though, and I agree
with the basic philosophy:  why trace rays in cases where it's faster to use
incremental techniques?  The demo executable is quite small (~12K).

Eric Haines

ap@tukki.jyu.fi (Patric Aalto) (01/14/91)

In article <1579@hagbard.dc.luth.se> Ingvar.Strand@ext.luth.se (Ingvar Strand) writes:
>Why not give us the name of this demo also.
>
>/Ingvar

Oh.. How shamefully stupid of me... Yes, the name of the demo is RTSYSTEM
(as in Ray-Traced system or Real-Time system), so it should be available
as rtsystem.zip in chyde.uwasa.fi, for instance.

Patrick Aalto
ap@tukki.jyu.fi
tkp72@jytko.jyu.fi

markv@taylor.Princeton.EDU (Mark VandeWettering) (01/15/91)

>In <1991Jan8.072628.13689@tukki.jyu.fi> ap@tukki.jyu.fi (Patric Aalto) writes:
>>Hi!
>>I just finished a small demo I have been working on a couple of months.
>>It performs real-time ray-tracing and shading (a sort of mixture of them
>>both) on an IBM PC-compatible computer with VGA graphics. I find it pretty
>>impressive (although the environment is pretty simple: It has a planet,
>>a moon and a sun). It runs at 70 frames/second on my 80386/20 Mhz machine.

Please, don't call it raytracing if it isn't raytracing.

Caveat: I haven't seen this program, although I have read the discussions
of it.

When one speaks of raytracing, one generally means a renderer that works
by generating view rays, and probing a data base of objects to find the 
closest one.  The main advantage: shadows and reflections can easily 
(if not cheaply) be done within the same framework.  Disadvantage: 
requires (possibly) accessing the entire database of objects for each pixel.

It sounds like this demo does some highly optimized phong shading, which is
nice, cute, interesting, but it AIN'T RAYTRACING.  

We have enough muddled terminology (like distributed raytracing) without
calling everything that renders a raytracer.  It just ain't so.

Mark


Mark VandeWettering
markv@acm.princeton.edu

zap@lysator.liu.se (Zap Andersson) (01/16/91)

markv@taylor.Princeton.EDU (Mark VandeWettering) writes:

>>In <1991Jan8.072628.13689@tukki.jyu.fi> ap@tukki.jyu.fi (Patric Aalto) writes:
>>>Hi!
>>>I just finished a small demo I have been working on a couple of months.
[1 Gigabit bla bla deleted]

>Please, don't call it raytracing if it isn't raytracing.

I agree. Norty you ;-) But it has nothing waz-zu-ever to do with my good
friend, Ray. BTW, I have some "demos" that I've made that are "real time"
of TRUE raytracing! I.e. compressed animation files that took hours and
hours to render, but replays in realtime... should I call THAT real time
raytracing for the PC ;-) ? Well, it LOOKS ;-) (coz it IS) like raytracing...
and it shows in REALTIME. 

So now I've invented Real-Time raytracing Q.E.D.? Nah.... dont think so....
problem is, do YOU? ;-)

>It sounds like this demo does some highly optimized phong shading, which is
>nice, cute, interesting, but it AIN'T RAYTRACING.  

Oh Mark, my dear friend, do you have to YELL at the poor guy ;-)

>We have enough muddled terminology (like distributed raytracing) without
>calling everything that renders a raytracer.  It just ain't so.

>Mark

Yeah, rite.

>Mark VandeWettering
>markv@acm.princeton.edu

P.S. My Animations will appear ftp-able realsoonnow with the help of a friend
from finland... I just got tons o' work to doy right now and havn't been able
to send him disks. 

P.P.S.S. My anims won 2:nd price in the magazine 'Cadalyst' competition
'Annual Image Award Whatever' last summer, and they were just bits and
pieces of demo renderings.... I'll enter something with a story this year
;-)

/Z
--
* * * * * * * * * * * * * * * * *
* My signature is smaller than  *
* yours!  - zap@lysator.liu.se  *
* * * * * * * * * * * * * * * * *