Advertisement

Vulkan Abstraction Layer for Large Data Remote Rendering System

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10850)

Abstract

New graphics APIs require users to implement a lot of needed functionality, such as memory management, by themselves. In this paper we present an abstraction layer build on top of such API, in our case the Vulkan API, for purpose of off-screen rendering of large data. We also present a use case for such abstraction layer implementation – a remote rendering system for simple Path Tracing accessible through web-based client-side application. The preliminary evaluation results show that implementation of simple Path Tracer is significantly faster then comparable implementation in OpenCL. In conclusion we also present possible extension and improvements of the developed abstraction layer.

Keywords

Vulkan API Graphics library abstraction layer Real-time rendering 

References

  1. 1.
    Sellers, G., Kessenich, J.: Vulkan Programming Guide: The Official Guide to Learning Vulkan. Addison-Wesley Professional, Boston (2016)Google Scholar
  2. 2.
    Guthe, S., Wand, M., Gonser, J., Strasser, W.: Interactive rendering of large volume data sets, November 2002Google Scholar
  3. 3.
    Yoon, I., Neumann, U.: Web-based remote renderingwith IBRAC (image-based rendering acceleration and compression). Comput. Graph. Forum 19(3), 321–330 (2000)CrossRefGoogle Scholar
  4. 4.
    Shi, S., Jeon, W.J., Nahrstedt, K., Campbell, R.H.: Real-time remote rendering of 3D video for mobile devices. In: Proceedings of the 17th ACM International Conference on Multimedia, MM 2009, pp. 391–400. ACM, New York (2009)Google Scholar
  5. 5.
    Karonis, N.T., Papka, M.E., Binns, J., Bresnahan, J., Insley, J.A., Jones, D., Link, J.M.: High-resolution remote rendering of large datasets in a collaborative environment. Future Gener. Comput. Syst. 19(6), 909–917 (2003). 3rd Biennial International Grid Applications-Driven Testbed Event, Amsterdam, The Netherlands, 23–26 September 2002CrossRefGoogle Scholar
  6. 6.
    Arntzen, H.K., et al.: KhronosGroup/SPIRV-Cross. https://github.com/KhronosGroup/SPIRV-Cross. Accessed 15 Feb 2018
  7. 7.
  8. 8.
    Sawicki, A., et al.: Vulkan Memory Allocator 1.0 - GPUOpen. https://gpuopen.com/vulkan-memory-allocator-1-0/. Accessed 15 Feb 2018
  9. 9.
    Kajiya, J.T.: The rendering equation. In: ACM SIGGRAPH Computer Graphics, vol. 20, pp. 143–150. ACM (1986)CrossRefGoogle Scholar
  10. 10.
    Beason, K.: smallpt: Global Illumination in 99 lines of C++. http://www.kevinbeason.com/smallpt/ (2014). Accessed 15 Feb 2018
  11. 11.
    Shirley, P., Morley, R.K.: Realistic Ray Tracing, 2nd edn. A. K. Peters, Ltd., Natick (2003)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Faculty of Computer and Information ScienceUniversity of LjubljanaLjubljanaSlovenia

Personalised recommendations