Abstract
This paper proposes a new method to improve cache placement for various rendering algorithms using caching techniques. The proposed method comprises two stages. The first stage computes an initial cache distribution based on shading points’ geometric proximity. We present a view-guided method to cluster shading points based on their world-space positions and surface normals, while considering the camera view to avoid producing small clusters in the final image. The proposed method is more robust and easier to control than previous shading point clustering methods. After computing the shading functions at the initial cache locations, the second stage of our method utilizes the results to allocate additional caches to regions with shading discontinuities. To achieve this, a discontinuity map is created to identify these regions and used to insert new caches based on importance sampling. We integrate the proposed method into several cache-based algorithms, including irradiance caching, importance caching, and ambient occlusion. Extensive experiments show that our method outperforms other cache distributions, producing better results both numerically and visually.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Data Availability Statement
The source code and test scenes used in this work are available from the corresponding author on reasonable request.
References
Ward, G.J., Rubinstein, F.M., Clear, R.D.: A ray tracing solution for diffuse interreflection. In: Proceeding of the SIGGRAPH, pp. 85–92 (1988). https://doi.org/10.1145/378456.378490
Ward, G., Heckbert, P.: Irradiance gradients. In: Proceedings of the Eurographics Workshop on Rendering, pp. 85–98 (1992). https://doi.org/10.1145/1401132.1401225
Tabellion, E., Lamorlette, A.: An approximate global illumination system for computer generated films. ACM Trans. Graph. Proc. SIGGRAPH 23(3), 469–476 (2004). https://doi.org/10.1145/1186562.1015748
Gautron, P., Krivánek, J., Bouatouch, K., Pattanaik, S.: Radiance cache splatting: A GPU-friendly global illumination algorithm. In: Proceedings of the Eurographics Symposium on Rendering (2005). https://doi.org/10.1145/1187112.1187154
Brouillat, J., Gautron, P., Bouatouch, K.: Photon-driven irradiance cache. Comput. Graphic. Forum 27(7), 1971–1978 (2008). https://doi.org/10.1111/j.1467-8659.2008.01346.x
Schwarzhaupt, J., Jensen, H.W., Jarosz, W.: Practical hessian-based error control for irradiance caching. ACM Trans. Graph. (Proc. SIGGRAPH) (2012) https://doi.org/10.1145/2366145.2366212
Křivánek, J., Gautron, P., Pattanaik, S., Bouatouch, K.: Radiance caching for efficient global illumination computation. IEEE Trans. Visual. Comput. Gr. 11(5), 550–561 (2005). https://doi.org/10.1109/TVCG.2005.83
Křivánek, J., Bouatouch, K., Pattanaik, S., Žára, J.: Making radiance and irradiance caching practical: Adaptive caching and neighbor clamping. In: Proceedings of the Eurographics Symposium on Rendering, pp. 127–138 (2006). https://doi.org/10.2312/EGWR/EGSR06/127-138
Gassenbauer, V., Krivanek, J., Bouatouch, K.: Spatial Directional Radiance Caching. Comput. Gr. Forum (2009). https://doi.org/10.1111/j.1467-8659.2009.01496.x
Scherzer, D., Nguyen, C.H., Ritschel, T., Seidel, H.-P.: Pre-convolved radiance caching. Comput. Gr. Forum 31(4), 1391–1397 (2012). https://doi.org/10.1111/j.1467-8659.2012.03134.x
Rehfeld, H., Zirr, T., Dachsbacher, C.: Clustered pre-convolved radiance caching. In: Proceedings of the Eurographics Symposium on Parallel Graphics and Visualization, pp. 25–32 (2014). https://doi.org/10.2312/pgv.20141081
Zhao, Y., Belcour, L., Nowrouzezahrai, D.: View-dependent radiance caching. In: Proceedings of the Graphics Interface (2019). https://doi.org/10.20380/GI2019.22
Müller, T., Rousselle, F., Novák, J., Keller, A.: Real-time neural radiance caching for path tracing. ACM Trans. Graph. (Proc. SIGGRAPH) 40(4) (2021) https://doi.org/10.1145/3450626.3459812
Clarberg, P., Akenine-Moeller, T.: Exploiting visibility correlation in direct illumination. In: Computer Graphics Forum (Proc. EGSR), pp. 1125–1136 (2008). https://doi.org/10.1111/j.1467-8659.2008.01250.x
Georgiev, I., Krivánek, J., Popov, S., Slusallek, P.: Importance caching for complex illumination. Comput. Graphics Forum (Proc. Eurographics) 31(2), 701–710 (2012) https://doi.org/10.1111/j.1467-8659.2012.03049.x
Yoshida, H., Nabata, K., Iwasaki, K., Dobashi, Y., Nishita, T.: Adaptive importance caching for many-light rendering. J. WSCG 23(1), 65–71 (2015)
Ou, J., Pellacini, F.: LightSlice: Matrix slice sampling for the many-lights problem. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 30(6) (2011) https://doi.org/10.1145/2070781.2024213
Wu, Y.-T., Chuang, Y.-Y.: VisibilityCluster: Average directional visibility for many-light rendering. IEEE Trans. Vis. Comput. Gr. 19(9), 1566–1578 (2013). https://doi.org/10.1109/TVCG.2013.21
Wu, Y.-T., Li, T.-M., Lin, Y.-H., Chuang, Y.-Y.: Dual-matrix sampling for scalable translucent material rendering. IEEE Trans. Visual Comput. Gr. 21(3), 363–374 (2015). https://doi.org/10.1109/TVCG.2014.2385059
Vévoda, P., Kondapaneni, I., Křivánek, J.: Bayesian online regression for adaptive direct illumination sampling. ACM Trans. Graph. (Proc. SIGGRAPH) 37(4) (2018) https://doi.org/10.1145/3197517.3201340
Andersson, P., Nilsson, J., Shirley, P., Akenine-Möller, T.: Visualizing errors in rendered high dynamic range images. In: Eurographics Short Papers (2021). https://doi.org/10.2312/egs.20211015
Keller, A.: Instant radiosity. In: Proceedings of the SIGGRAPH, pp. 49–56 (1997). https://doi.org/10.1145/258734.258769
Jensen, H.W.: Global illumination using photon maps. In: Rendering Techniques, pp. 21–30 (1996). https://doi.org/10.1007/978-3-7091-7484-5_3
Silvennoinen, A., Lehtinen, J.: Real-time global illumination by precomputed local reconstruction from sparse radiance probes. ACM Trans. Graph. 36(6) (2017) https://doi.org/10.1145/3130800.3130852
Jarosz, W., Donner, C., Zwicker, M., Jensen, H.W.: Radiance caching for participating media. ACM Trans. Graph. 27(1) (2008) https://doi.org/10.1145/1330511.1330518
Marco, J., Jarabo, A., Jarosz, W., Gutierrez, D.: Second-order occlusion-aware volumetric radiance caching. ACM Trans. Graph. 37(2) (2018) https://doi.org/10.1145/3185225
Dubouchet, R.A., Belcour, L., Nowrouzezahrai, D.: Frequency based radiance cache for rendering animations. In: Computer Graphics Forum (Proc. EGSR) (2017). https://doi.org/10.2312/sre.20171193
Patry, J., Wright, D., Halen, H., Hayward, K., Brinck, A., Bei, X.: Advances in real-time rendering in games, Part 2. SIGGRAPH Course (2021). https://advances.realtimerendering.com/s2021/
McLaren, J.: The Technology of The Tomorrow Children. Game Developers Conference (GDC) (2015). https://www.gdcvault.com/play/1022428/The-Technology-of-The-Tomorrow
Bitterli, B., Wyman, C., Pharr, M., Shirley, P., Lefohn, A., Jarosz, W.: Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting. ACM Trans. Graph. (Proc. SIGGRAPH) 39(4) (2020) https://doi.org/10.1145/3386569.3392481
Lin, D., Kettunen, M., Bitterli, B., Pantaleoni, J., Yuksel, C., Wyman, C.: Generalized resampled importance sampling: Foundations of restir. ACM Trans. Graph. (Proc. SIGGRAPH) 41(4) (2022) https://doi.org/10.1145/3528223.3530158
Clarberg, P.: Fast equal-area mapping of the (Hemi)sphere using SIMD. J. Graphics Tools 13(3), 53–68 (2008). https://doi.org/10.1080/2151237X.2008.10129263
Pharr, M., Jakob, W., Humphreys, G.: Physically Based Rendering: From Theory to Implementation, 3rd edn., p. 1266. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2016)
Bitterli, B.: Rendering resources. https://benedikt-bitterli.me/resources/ (2016)
McGuire, M.: Computer Graphics Archive. https://casual-effects.com/data
Acknowledgements
We thank the anonymous reviewers for their valuable comments, and the creators or providers of the models and textures used in this paper: Staircase, CornellBox, DiningRoom, Bathroom, and Kitchen, via Benedikt Bitterli’s rendering resources [34]; CrytekSponza, Conference, and Sibenik from McGuire Computer Graphics Archive [35]; This work was supported in part by the National Science and Technology Council (NSTC) under grants 111-2222-E-305-001-MY2 and JSPS Grant-in-Aid JP23K16921.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflicts of Interest
The following are potential conflicts of interest: \(\bullet \) Yung-Yu Chuang (https://www.csie.ntu.edu.tw/~cyy/) \(\bullet \) Tzu-Mao Li (https://cseweb.ucsd.edu/~tzli/)
Research Involving Human Participants and/or Animals
This research did not involve human participants.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wu, YT., Shen, IC. Improving cache placement for efficient cache-based rendering. Vis Comput 40, 8173–8187 (2024). https://doi.org/10.1007/s00371-023-03231-z
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-023-03231-z