How To Achieve Real Time Self Reflection?
#1 Members - Reputation: 349
Posted 06 August 2012 - 12:50 PM
From what I've seen the general way to achieve real time reflections is either to use a cube map to store the reflections in an omni-directional texture or to use the stencil buffer to create a portal of sorts into which the scene is rendered mirrored relative to the reflecting geometry. In both techniques, the reflecting geometry is not rendered when rendering the reflection.
I know that this can be achieved with ray tracing, but that is typically an offline rendering technique due to the heavy calculations involved. Are there any real time alternatives that do not use ray tracing? Or is ray tracing much cheaper to calculate than I was led to believe?
Any insight about this would be greatly appreciated.
#2 Members - Reputation: 4604
Posted 06 August 2012 - 11:46 PM
Ray tracing getting much faster the last years, but I'm still waiting to see a (blockbuster) game released which utilise traditional ray tracing .
Edited by Ashaman73, 06 August 2012 - 11:48 PM.
#4 Members - Reputation: 921
Posted 08 August 2012 - 04:59 AM
EDIT: More info here.
Edited by InvalidPointer, 08 August 2012 - 05:01 AM.
#5 Moderators - Reputation: 13514
Posted 08 August 2012 - 05:14 AM
With cube-mapping, you'd carefully cut up the mesh, and render a cube-map from inside each individual pillar.For example, if I had a single mesh that was originally a tessellated plane that I have extruded pillars and spikes out of, how would I get the pillars and spikes to reflect one another?
Finding ways to mix ray-tracing and rasterization together is the cutting-edge at the moment.is ray tracing much cheaper to calculate than I was led to believe?
One of the best example of this cutting-edge work is this video of Voxel Cone Tracing. They dynamically construct a voxelized version of the polygonal scene and inject surface light values into the voxels. Then to compute reflections, they use cone-tracing to step through the voxel structure to see where the reflected rays intersect. This is only possible on modern D3D11-class GPUs. So in a few years time, these types of techniques might start becoming mainstream.
#6 Members - Reputation: 349
Posted 09 August 2012 - 04:13 AM
Well then it's no longer a single piece of geometry. Never mind figuring out how to cut up something like that in real time taking into account the perspective of the camera at a particular frame; that sounds incredibly complicated.With cube-mapping, you'd carefully cut up the mesh, and render a cube-map from inside each individual pillar.
This actually seems to be rather viable, I'd need to do more research into this technique, but upon viewing that video I'd suppose you could achieve self reflection with LOD based on the granularity of the voxels. Thanks for the tip.Finding ways to mix ray-tracing and rasterization together is the cutting-edge at the moment.
One of the best example of this cutting-edge work is this video of Voxel Cone Tracing. They dynamically construct a voxelized version of the polygonal scene and inject surface light values into the voxels. Then to compute reflections, they use cone-tracing to step through the voxel structure to see where the reflected rays intersect.






