Bidirectional LOD back

Board: Home Board index Raytracing General Development

(L) [2014/11/12] [tby Paleos] [Bidirectional LOD] Wayback!

I would like to find out how to estimate the footprint of a path in screen space that originates from the light source.
The reason i am interested in this is so that I can implement micropolygon(in spirit of psychopath)  bidirectional path tracing.
I am aware that it's a nontrivial thing to do.
The point of this thread is for people to suggest ways to solve this problem.
(L) [2014/11/12] [tby Dietger] [Bidirectional LOD] Wayback!

Unfortunately you cannot easily use some trivial extension of ray differentials for bidirectional level of detail. As an example, imagine some object A close to a light source. The required tessellation resolution of object A for light rays passing by should not (only) depend on their screen space footprint on A, but also on their screen space footprint on some other object B that will be hit if object A is missed. If this object B is very close to the viewer, the resolution of the shadow cast by object A on B needs to have high resolution too. Therefore, object A needs to be finely tessellated. However, if object B is far away from the viewer the shadow does not require high resolution so object A can be coarsely tessellated. So in a way you need to already know where you are going to end up in order to determine the required tessellation level for ray traversal, something you actually know for next event estimation in path tracing but not for light paths. And this is just direct lighting. For full bidirectional path tracing the problem becomes even more complicated...
(L) [2014/11/18] [tby Paleos] [Bidirectional LOD] Wayback!

First of all a LOD system like psychopath involves testing against the bounding box before intersecting the micropolygons. so one way of approximating the screen space footprint in bidirectional path tracing would be to first trace an approximate path from the light source treating the patch bounding box like the actual geometry, then tracing the actual path with ray differentials from the camera and then at some point use the light source path to guide the path.

back