Ray Tracing on Programmable Graphics Hardware (RSX)?

You face similar problems making smooth ray traced shadows as you get trying to get smooth stencil shadows. Both methods produce hard shadows.

To smooth them out you either have to do multiple passes (note i'm treating multiple rays per pixels as if they are all a single pass) or use some post process approximation
 
Squeak said:
But shadowmaps still has huge issues with aliasing, even with really high resolutions and perspective SM are very difficult to get to work well AFAIK.

Shadowmaps need a lot of manual tweaking to get good results with fast rendering times. But you can use a lot of tricks, especially if you can code it into the engine, compared to what I can do with my small Renderman knowledge. Stuff like several lights using the same shadow map, one light using more shadow maps for one or more objects, lazy computing shadows etc etc. Aliasing will be solved on the nextgen consoles IMHO. There's a lot of known tricks already, and lots of room for new tricks and shortcuts as well.

With raytracing, you have a smaller set of tools... include/exclude an object from a shadow and basically that's it.
 
psurge said:
nAo - what about storing N hits, each in a separate tile sized texture, then rendering the tile N times with these textures as input (Nth hit to 1st) and blending results? Something a little different would have to be done for surface to light rays...

The most interesting thing about raytracing to me is how dynamic scenes/animation are handled. (I couldn't help noticing how skimpy the saarcor videos were in regards to animation).

IIRC saarcor is using a static kD tree for scene geometry and tracing a separate kD tree, rebuilt every frame, for the dynamic stuff.

I'm not saying I have any better ideas, but this falls down if lots of things are moving around. It also doesn't really address the issue of what to include in the dynamic kD tree. How do you decide whether a dynamic element (character, water surface, foliage moving in the wind) no longer needs to be animated (AI + physics -> skinning, etc...)? I guess you could trace against bounding boxes for dynamic elements and lazily animate on bounding box hits, but ... I dunno, I just haven't heard anything that convincingly addresses the problem.
At Siggraph they said dynamic scenes pose possibly the largest problem for real time ray tracing and they encourage others to aid in this research. For this reason real time ray tracing makes more sense at the moment for car companies and other visualization applications that have static geometry and a dynamic camera and lights.
 
You face similar problems making smooth ray traced shadows as you get trying to get smooth stencil shadows. Both methods produce hard shadows.

To smooth them out you either have to do multiple passes (note i'm treating multiple rays per pixels as if they are all a single pass) or use some post process approximation
Maybe your English is getting me here, but if you're treating arbitrarily multiple rays per pixel as a single pass, why would you need multiple passes to get soft shadow?

Basically, the only thing that makes raytraced shadows hard shadows is the fact that you'd normally simulate point lights. There's no such thing as hard shadows with raytraced area lights. Yes, you have to do a lot of samples per light, but that's basically why you get soft shadows at all (the fact that lightsources take up space). If the whole world were made up of infinitesimal point lights and every material in the world reflected things specularly, you'd see hard shadows in the real world, too. Still, shadow sample rays are not as costly as primary and secondary rays because you don't care about where and how a ray hits something -- you only care whether it hits something or not.

Also, with shadow volumes, there are a number of little tricks you can try to fake soft shadows (many being sort of fuzzy z-stencil pass-fail). Actually, things like that probably still work better with shadow maps.
 
That was exactly my point but i didn't phrase it terrible well. To make 'proper' soft stencil or ray traced shadows you need do multiple samples per pixel. For Stencil this is multiple passes, but for ray traced you will do it in a single pass. Both methods though increase the amount of work required substantially.
 
Back
Top