Abstract
Exact order-independent transparency (OIT) techniques capture all fragments during rasterization. The fragments are then sorted per-pixel by depth and composited in order using alpha transparency. The sorting stage is a bottleneck for high depth complexity scenes, taking 70–95 % of the total time for those investigated. In this paper, we show that typical shader-based sorting speed is impacted by local memory latency and occupancy. We present and discuss the use of both registers and an external merge sort in register-based block sort to better use the memory hierarchy of the GPU for improved OIT rendering performance. This approach builds upon backwards memory allocation, achieving an OIT rendering speed up to 1.7\(\times \) that of the best previous method and 6.3\(\times \) that of the common straight forward OIT implementation. In some cases, the sorting stage is reduced to no longer be the dominant OIT component.
Similar content being viewed by others
References
Bauer, F., Knuth, M., Bender, J.: Screen-space ambient occlusion using a-buffer techniques. In: IEEE International Conference on Computer-Aided Design and Computer Graphics, Hong Kong (2013)
Bavoil, L., Callahan, S.P., Lefohn, A., Comba, J.L.D., Silva, C.T.: Multi-fragment effects on the GPU using the k-buffer. In: Proceedings of the 2007 Symposium on Interactive 3D Graphics and Games, I3D ’07, pp. 97–104. ACM, New York (2007)
Everitt, C.: Interactive order-independent transparency. In: Technical report. NVIDIA Corporation (2001)
Furtak, T., Amaral, J.N., Niewiadomski, R.: Using SIMD registers and instructions to enable instruction-level parallelism in sorting algorithms. In: Proceedings of the 19th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA ’07, pp. 348–357. ACM, New York (2007)
Hermes, J., Henrich, N., Grosch, T., Mller, S.: Global illumination using parallel global ray-bundles. In: Koch, R., Kolb, A., Rezk-Salama, C. (eds.) VMV, pp. 65–72. Eurographics Association, Manchester (2010)
Kauker, D., Krone, M., Panagiotidis, A., Reina, G., Ertl, T.: Rendering molecular surfaces using order-independent transparency. In: Eurographics Association (ed.) Eurographics Symposium on Parallel Graphics and Visualization (EGPGV), vol. 13, pp. 33–40 (2013)
Kessenich, J., Baldwin, D., Rost, R.: The OpenGL Shading Language, Version 4.40. The Khronos Group, 1.1 edn. http://www.opengl.org/registry/doc/GLSLangSpec.4.40.pdf. (2014) Accessed January 2014
Knowles, P., Leach, G., Zambetta, F.: Efficient layered fragment buffer techniques. In: Cozzi, P., Riccio, C. (eds.) OpenGL Insights, pp. 279–292. CRC Press, London. http://www.openglinsights.com/ (2012)
Knowles, P., Leach, G., Zambetta, F.: Backwards memory allocation and improved OIT. In: Proceedings of Pacific Graphics 2013 (short papers), pp. 59–64 (2013)
Lefebvre, S., Hornus, S., Lasram, A.: HA-Buffer: coherent hashing for single-pass A-buffer. In: Rapport de recherche RR-8282, INRIA, France (2013)
Lipowski, J.K.: Multi-layered framebuffer condensation: the l-buffer concept. In: Proceedings of the 2010 International Conference on Computer Vision and Graphics: Part II, ICCVG’10, pp. 89–97. Springer-Verlag, Berlin (2010)
Lipowski, J.K.: d-Buffer: letting a third dimension back in... http://jkl.name/jkl/rnd/ (2011). Accessed 20 Feb 2014
Maule, M., Comba, J., Torchelsen, R., Bastos, R.: Hybrid transparency. In: Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, I3D ’13, pp. 103–118. ACM, New York (2013)
Maule, M., Comba, J.L.D., Torchelsen, R., Bastos, R.: Memory-efficient order-independent transparency with dynamic fragment buffer. In: Proceedings of the 2012 25th SIBGRAPI Conference on Graphics, Patterns and Images, SIBGRAPI ’12, pp. 134–141. IEEE Computer Society, Washington (2012)
Peeper, C.: Prefix Sum Pass to Linearize A-buffer Storage U.S. Patent, 2008/0316214 (2008)
Ranade, A.G., Kothari, S., Udupa, R.: Register efficient mergesorting. In: Proceedings of the 7th International Conference on High Performance Computing, HiPC ’00, pp. 96–103. Springer-Verlag, London (2000)
Salvi, M., Montgomery, J., Lefohn, A.: Adaptive transparency. In: Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics, HPG ’11, pp. 119–126. ACM, New York (2011)
Szcsi, L., Ills, D.: Real-time metaball ray casting with fragment lists. In: And-jar, C., Puppo, E. (eds.) Eurographics (short papers), pp. 93–96. Eurographics Association, New York (2012)
Thibieroz, N., Grün, H.: OIT and GI using DX11 linked lists. In: GDC 2010 Conference Session. Presentation from the Advanced Direct3D Tutorial Day (2010)
Tokuyoshi, Y., Sekine, T., da Silva, T., Kanai, T.: Adaptive ray-bundle tracing with memory usage prediction: efficient global illumination in large scenes. Comput. Graph. Forum 32(7), 315–324 (2013)
Wickremesinghe, R., Arge, L., Chase, J.S., Vitter, J.S.: Efficient sorting using registers and caches. J. Exp. Algorithmics 7, 9 (2002)
Yang, J.C., Hensley, J., Grün, H., Thibieroz, N.: Real-time concurrent linked list construction on the GPU. Comput. Graph. Forum 29(4), 1297–1304 (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Knowles, P., Leach, G. & Zambetta, F. Fast sorting for exact OIT of complex scenes. Vis Comput 30, 603–613 (2014). https://doi.org/10.1007/s00371-014-0956-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-014-0956-z