Abstract
We present a new method for real-time rendering of multiple recursions of reflections and refractions. The method uses the strengths of real-time ray tracing for objects close to the camera, by storing them in a per frame constructed BVH. For objects further from the camera, rasterization is used to create G-Buffers which store an image based representation of the scene outside the near objects. Rays that exit the BVH continue tracing in the G-Buffers' perspective space using ray marching, and can even be reflected back into the BVH. Our hybrid renderer is to our knowledge the first method to merge real-time ray tracing techniques with image based rendering to achieve smooth transitions from accurately ray traced foreground objects to image based representations in the background. We are able to achieve more complex reflections and refractions than existing screen space techniques, and offer reflections by off screen objects. Our results demonstrate that our algorithm is capable of rendering multiple bounce reflections and refractions, for scenes with millions of triangles, at 720p resolution and above 30 FPS.
Paper
Videos
All videos are captured in real-time using Fraps video capturing tool. All videos but the last are rendered at 720p resolution. The last one is rendered at a 1920x1280 resolution.