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 bounding volume hierarchy (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.
Similar content being viewed by others
References
Andersson, J.: Five major challenges in real-time rendering. In: Beyond Programmable Shading Course, SIGGRAPH (2012)
Blinn, J.F., Newell, M.E.: Texture and reflection in computer generated images. Commun. ACM 19(10), 542–547 (1976)
Unreal Engine 4: Unreal Editor Manual (2014). https://www.unrealengine.com
Hakura, Z.S., Snyder, J.M.: Realistic reflections and refractions on graphics hardware with hybrid rendering and layered environment maps. In: Proceedings of the 12th Eurographics Workshop on Rendering Techniques, pp. 289–300 (2001)
Hirche, J., Ehlert, A., Guthe, S., Doggett, M.: Hardware accelerated per-pixel displacement mapping. In: Proceedings of Graphics Interface 2004, GI ’04, pp. 153–158 (2004)
Hu, W., Huang, Y., Zhang, F., Yuan, G., Li, W.: Ray tracing via GPU rasterization. Vis. Comput. 30(6–8), 697–706 (2014)
Karras, T.: Maximizing parallelism in the construction of BVHs, octrees, and k-d trees. In: High-Performance Graphics, pp. 33–37 (2012)
Knecht, M., Traxler, C., Winklhofer, C., Wimmer, M.: Reflective and refractive objects for mixed reality. IEEE Trans. Vis. Comput. Graph. 19(4), 576–582 (2013)
Lauterbach, C., Garland, M., Sengupta, S., Luebke, D.P., Manocha, D.: Fast BVH construction on gpus. Comput. Graph. Forum 28(2), 375–384 (2009)
Mara, M., McGuire, M., Luebke, D.: Lighting deep G-Buffers: single-pass, layered depth images with minimum separation applied to indirect illumination. Technical Report NVR-2013-004, NVIDIA Corporation (2013)
McMillan, L., Bishop, G.: Plenoptic modeling: an image-based rendering system. In: Proceedings of SIGGRAPH 95, Annual Conference Series, pp. 39–46 (1995)
McTaggart, G.: Half-life 2 shading. In: Direct3D Tutorial, GDC (2004)
Pharr, M., Humphreys, G.: Physically Based Rendering: From Theory to Implementation, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco (2010)
Reinbothe, C., Boubekeur, T., Alexa, M.: Hybrid ambient occlusion. EUROGRAPHICS 2009 Areas Papers (2009)
Ritschel, T., Dachsbacher, C., Grosch, T., Kautz, J.: The state of the art in interactive global illumination. Comput. Graph. Forum 31(1), 160–188 (2012)
Rosen, P., Popescu, V., Hayward, K., Wyman, C.: Nonpinhole approximations for interactive rendering. Comput. Graph. Appl. IEEE 31(6), 68–83 (2011)
Saito, T., Takahashi, T.: Comprehensible rendering of 3-D shapes. Comput. Graph. 24, 197–206 (1990)
Sébastien, L., Zanuttini, A.: Local image-based lighting with parallax-corrected cubemaps. In: ACM SIGGRAPH 2012 Talks, p. 36:1 (2012)
Sousa, T., Kasyan, N., Schulz, N.: Secrets of CryENGINE 3 graphics technology. In: ACM SIGGRAPH 2011 Courses, Advances in Real-Time Rendering in 3D Graphics and Games (2011)
Sun, X., Zhou, K., Stollnitz, E., Shi, J., Guo, B.: Interactive relighting of dynamic refractive objects. ACM Trans. Graph. 27(3), 35:1–35:9 (2008)
Szirmay-Kalos, L., Aszódi, B., Lazányi, I., Premecz, M.: Approximate ray-tracing on the gpu with distance impostors. Comput. Graph. Forum 24(3), 695–704 (2005)
Tatarchuk, N.: Dynamic parallax occlusion mapping with approximate soft shadows. In: Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games, I3D ’06, pp. 63–69 (2006)
Thiedemann, S., Henrich, N., Grosch, T., Müller, S.: Voxel-based global illumination. In: Symposium on Interactive 3D Graphics and Games, I3D ’11, pp. 103–110 (2011)
Whitted, T.: An improved illumination model for shaded display. Commun. ACM 23(6), 343–349 (1980)
Wyman, C.: An approximate image-space approach for interactive refraction. ACM Trans. Graph. 24(3), 1050–1053 (2005)
Xu, K., Cao, Y.P., Ma, L.Q., Dong, Z., Wang, R., Hu, S.M.: A practical algorithm for rendering interreflections with all-frequency BRDFs. ACM Trans. Graph. 33(1), 10:1–10:16 (2014)
Zhou, K., Hou, Q., Wang, R., Guo, B.: Real-time KD-tree construction on graphics hardware. ACM Trans. Graph. 27(5), 126:1–126:11 (2008)
Acknowledgments
We thank ELLIIT and Intel Visual Computing Institute for funding. Thanks to TurboSquid artist cjx3711 for the chess piece models.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Ganestam, P., Doggett, M. Real-time multiply recursive reflections and refractions using hybrid rendering. Vis Comput 31, 1395–1403 (2015). https://doi.org/10.1007/s00371-014-1021-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-014-1021-7