OT: Future of Real Time Graphics.

I was reading somewhere that we may be approaching a point soon (i dunno how soon tho) where real time ray tracing will be able to match currnet methods of rendering. People claim (i dont know if they are right) that there is a certain point where the number of polygons ono screen is so large that is it actually faster to render them using ray traycing. Now, im wondering if it is possible for some company to develop the equivalent of a GPU or video card or whatever except for ray tracing acceleration, thus making ray tracing hw accelerated, i dont know, just a thought. What are your thoughts on this? Plus, afaik with ray tracing dual CPUs would finally have a use on desktops for real time graphics.

I’m not into raytracing, but wouldn’t you still make up objects from polygons with raytracing?. I mean you would still be pushing triangles to such hardware, it would still have to transform them and such but the rendering would ofcourse be diffrent.

So in theory, you could still become geometry limited.

The big problem with ray tracing is that you need access to the entire scene in order to make accurate calculations for all refraction, reflection and other stuff. This places a very heavy burden on memory as well as the processor.
On top of that, there is a huge amount of intersection calculations involved, especially if you have a very large polygon-soup.

In general ‘simple’ ray-tracing scenes are difficult to render in a ‘regular’ GPU (they consist of mathematically described surfaces/volumes with properties; using CSG to join, intersect and subtract)
OTOH ‘regular’ graphical scenes ‘just’ contain a large amount of triangles that are difficult to treat as ray-tracable objects.

IMHO even though the raw processing power of a GPU looks like being large enough to start doing HW-accelerated ray-tracing, the typical mathematical requirements are of such a different nature that bending the current GPU setup to a ray-tracing setup is not feasible.
I see it as having a very fast state of the art car, but no way are you going to cross the ocean with just that car.

Just my .02

Jean-Marc

I do not really believe what people claim. Ray tracing scales quite bad with the number of polygons in a scene. I.e., conventional rasterization hardware scales somewhat linearly, so rendering twice as many polygons will roughly require twice as long. Recursive ray tracing scales worse by far.

Real time ray tracing has been implemented for some simple scenes, however the results have not been too impressive visually …

I’m not into raytracing, but wouldn’t you still make up objects from polygons with raytracing?. I mean you would still be pushing triangles to such hardware, it would still have to transform them and such but the rendering would ofcourse be diffrent.

No, in raytracing you would not need to represent curved surfaces with a bunch of small triangles like you do in conventional real-time 3-d graphics. You could describe surfaces with functions such as NURBS etc. This would mean far fewer surfaces with which you would have to calculate intersections.

Modern ray tracers are inplemented with bounding spheres. Using this technique, you don’t have to intersect a ray with every object in the scene. The objects are in some type of tree. So you would have a log function for the number of objects to intersect. Although it’s much faster than simple ray tracing, it’s still much slower than drawing triangles.

Ray tracing has good potential for being used in high quality application, like CG movies or CAD. Using raytracing in a game wouldn’t make much sense. In games you don’t need super high quality details that you get with ray tracing.

It’s still an interesting way of rendering.

errr, im pretty sure that actually as scenes get more complex raytracing comes into its own because of techniques such as bounding spheres that can be used to dramatically cut down the amount of intersection tests, plus alot of seemingly comples objects can be desscribed relatively simply with parametric equtions which ray tracing does VERY well in rendering… I was just asking to see if anyone else thought that soon we may be seeing games using ray tracing instead of standard rasterisation.
Also, i was not saying if we could use like a geforce for raytracing, i was asking if it is possible to build a specifically designed card for ray trace aceleration.

Well, dedicated ray tracing hardware certainly is possible, and available. I doubt it will be used for games, or other real time rendering applications, though (edited: in the near future, of course).
http://www.art-render.com/

flo

[This message has been edited by flo (edited 09-19-2002).]

Hi !

There has been some experiments with raytracers that has been able to outperform ordinary OpenGL rendering (accelerated), but it does require some pretty tricky code and taking advantage of SSE memory alignment and so on.

It’s also possible to cache geometry without lossing much performance, this allows you to keep maybe up to ten times the amount of geometry that would normally fit in your memory, but this also requires a ray cache to reorder the rayes and a few other things, and doing all this in hardware is tricky, it also only works with large amounts of geometry.

I think it will take a long time before we get realtime raytracing that works with more complex scenes.

Mikael

There is some significant efforts in the field, but who known when will all be buying dirt cheap rt video cards.
http://graphics.cs.uni-sb.de/RTRT/

that link has some sweet stuff. There is a mention of a new chip being designed but no link.

V-man

Hmmm, interesting… who knows? maybe in 5-10 years time OpenGL and D3D will be obsolete, and ray tracers will take over. Imho ray tracers would be a great solution if it were feasable atm since they allow so much freedom to the programmer, no more fixed pipelines etc, since its all in software…