Skip to main content
Log in

Fast sorting for exact OIT of complex scenes

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. 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)

  2. 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)

  3. Everitt, C.: Interactive order-independent transparency. In: Technical report. NVIDIA Corporation (2001)

  4. 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)

  5. 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)

  6. 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)

  7. 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

  8. 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)

  9. Knowles, P., Leach, G., Zambetta, F.: Backwards memory allocation and improved OIT. In: Proceedings of Pacific Graphics 2013 (short papers), pp. 59–64 (2013)

  10. Lefebvre, S., Hornus, S., Lasram, A.: HA-Buffer: coherent hashing for single-pass A-buffer. In: Rapport de recherche RR-8282, INRIA, France (2013)

  11. 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)

  12. Lipowski, J.K.: d-Buffer: letting a third dimension back in... http://jkl.name/jkl/rnd/ (2011). Accessed 20 Feb 2014

  13. 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)

  14. 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)

  15. Peeper, C.: Prefix Sum Pass to Linearize A-buffer Storage U.S. Patent, 2008/0316214 (2008)

  16. 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)

  17. 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)

  18. 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)

  19. 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)

  20. 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)

  21. Wickremesinghe, R., Arge, L., Chase, J.S., Vitter, J.S.: Efficient sorting using registers and caches. J. Exp. Algorithmics 7, 9 (2002)

  22. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pyarelal Knowles.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-014-0956-z

Keywords

Navigation