Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Ohad Eder Pressman, posted on September 07, 2000

Image Description, by Ohad Eder Pressman

I'm Ohad Eder Pressman from IMR, the image you can see is the outcome of our raytracer 'IMRay'. The raytracer uses exported MAX scenes as it's input (Using Masterboy's .I3D exporter), it's not a sphere/plane/cone based raytracer, it works on polygons. It supports all the standard features you'd expect from a raytracer, you can see them in the shots. Speed-wise it uses 3 important optimizations : Bounding volumes, Ray-Hit-Cache and Shadow-Cache. This shortened the working time on one of my test scenes (Heavy on reflections and shadows) from 10 minutes to 14 seconds, and I haven't added edge-checking to all the caching systems yet.

I'm not sure yet if I'm going to go on with the tracer as it is, I'm thinking of going into a Radiosity or Photon-Map (The "new" method presented at Siggraph2000) based light-map calculator, or perhaps concentrate on high-quality and realistic tracing of a specific effect, haven't decided yet

That's it, comments are welcome :)

Ohad Eder Pressman

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
Jaap Suter

September 07, 2000, 06:22 AM


Looks very nice.

Jaap Suter

William Leeson

September 07, 2000, 06:33 AM

Shots look pretty good. How many polygons in each scene? You might want to try using SEADS grids or Octrees to accelerate your ray queries. They produced great speed ups for me I can now render scenes with millons of polygons. Mixing these techniques makes things even better. Anyway, I am always looking for ways to speed up my raytracer so I was wondering what your Ray-Hit-Cache was and how it works? If your looking for something to add I suggest area light sources as they are really easy to add and produce fantastic images. Great work I especially like your desert island.

Willy B^)

Phil Carlisle

September 07, 2000, 06:47 AM

What is masterboys .I3D exporter?



September 07, 2000, 07:42 AM


Its just a 3D Studio MAX exporter plugin. .I3D is his own fileformat. If the good man himself is reading, when are you gonna release it with source? ;-)

btw guys: if u have nothing else better to do, and want to discuss 3d stuff, get yourself on #3dcoders on IRCNet. its a blast! ;-)

Oh Kombat, nice images, keep up the good work!


Rui Martins

September 07, 2000, 08:01 AM

I especially like the lighting on the water (island scene), great look.

If you can optimize that some more, maybe we start to have real time raytraced games !
That will be the Day.

The hardware is getting closer to it.

See ya

The Wolf

September 07, 2000, 11:29 AM

very nice....

ditto on what Rui says..

Jukka Liimatta

September 07, 2000, 01:47 PM

Kombat, nice job old man. Btw.. the picture in lower-right looks cool, the three characters are way funny. Where you got the models, someone modeled them?



John van der Burg

September 07, 2000, 02:08 PM

Hey Kombat!

Looks groovy! :)
Aren't these scenes (except the island) from one of your demos?
Seven? Maybe I'm totally wrong :)

- John

Daniel Zoran

September 07, 2000, 02:55 PM

As the guy who made the models, great work Kombat! They never looked so good. :)


September 07, 2000, 05:06 PM

Good work Kombat. I've already seen it , but it looks damn good everytime I look at it. ;)

A few comments now: my nickname is spelled with a capital B (MasterBoy).

Wog, why not download the demo, which I forgot its name, and see those nice characters in action. I'm sure that Kombat remembers it's name , though.

Sulphur, if the exporter was nicely written I would have released it's source. But it's a one big piece of mess. Since it was my first 3DSMAX exporter plugin, I did a few nasty things in it.

And John, the scenes are from all of his demos(Seven, Jinkaku, and one more name I don't remember) ;)

Kurt Miller

September 07, 2000, 05:40 PM

Ohad mentioned via e-mail that he was having some problems accessing the site (possibly traffic related), so he asked me to post this message for him in the meantime. Hopefully the problem is just a temporary thing, and he'll be able to respond to any follow-up questions personally.

The following are Ohad Eder Pressman's words, not mine:

Thanks for the warm comments.

First of all, the scenes are from IMR demos, 3 of them were made by Daniel Zoran
aka Thor/IMR, 1 was made by Jonny/Yoe, my thanks goes to them. The demos are
avilable at should you be interested, the scenes (there you go
wog) are in there as '3ds' files with textures in gif/tga format. Note that I
slightly modified the scenes by adding light-sources and re-positioning the

The scenes are roughly several thousands of polygons each, not a large amount.
The tracing time isn't near real-time at the moment, because first of all it's
aimed at quality first so there are no tricks of tracing grids and interpolating
values, etc. And as you can see the images are anti-aliased, each shot was
originally a 1600x1200, then were scaled down to 800x600 which gave a smooth
look, and then for this particular mix of 4 images I scaled them down to 320x240
if I recall correctly, so that's about 25 ray-pixels (or however you call them)
per screen-pixel.

The Ray-Hit cache is a simple list of the faces that the ray last hit. Since
there is a hierarchy of rays, as in a ray shoots, reflect, etc, etc we have a
hierarchy beginning with the initial ray that shoots from the eye out to the
world. When given two screen-pixels it's not statistically wrong to assume that
these rays will hit the same face, or if not the same face a face that shares an
edge with the face previously hit, same with the reflected ray (ofcourse this
becomes less effective the deeper in you get). The cache is used not to provide
an accurate hit, but just to obtain a hit with a near enough Z to disqualify
many other bounding-volumes/objects/etc.

The Shadow cache is much more effective, since once you find an intersection
(and that's what the cache is there to help you with) you can disqualify the
light-source in questioning and proceed.

I've implemented both caches, but without the edge trick, they have proved
themselves quite well.

As I've stated before I'm looking into Global-Illumination issues at the moment,
thus removing any lighting calculations from the raytracer and making it perhaps
cleaner. Other optimizations I've heard of but haven't implemented are ofcourse
octrees, grids, 5d ray-classification.

Thanks again for the comments, I hope to publish a few more shots soon with
refraction, and perhaps a short animation.




September 08, 2000, 06:13 AM

Hmm.. any website for that i3d-exporter? I would like to know what it can save and so fourth.... I'm looking for a simple exporter which only exports meshes with textures... for some kind of game :)

Hope you can help me with that.

This thread contains 12 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.