Аннотация и ключевые слова
Аннотация (русский):
Photo-realistic rendering systems on CPU traditionally have significant flexibility achieved mainly by the ability for end user to write custom plugins or shaders. The same cannot be said about majority of photo-realistic GPU renderers. Most «classic» approaches to design of user-extendable software on CPU, such as object-oriented plugins are not very well suited for GPU programming. In this paper we propose a restricted approach to developing extendable GPU rendering system at low development cost. Our hardware agnostic light-weight approach can be applied to existing rendering systems with minimal changes to them. We apply our approach to the problem of procedural textures implementation and show that, in addition to simplicity, our approach is faster then existing GPU solutions.

Ключевые слова:
photo-realistic rendering, ray tracing, GPU, procedural textures
Список литературы

1. Albrecht T. Pitfalls of Object Oriented Programming.Sony Computer Entertainment Europe Research andDevelopment Division archives. 2013.

2. Barik R. et al. Efficient mapping of irregular C++applications to integrated GPUs //IEEE/ACM International Symposium on Code Generation and Optimization. – ACM, 2014. – p. 33.

3. Cook R. L. Shade trees //ACM Siggraph ComputerGraphics. – 1984. – Vol. 18. – №. 3. – p. 223-231.

4. Deryabin N. B., Zhdanov D. D., Sokolov V. G. Embedding the script language into optical simulation software // Programming and Computer Software. 2017,Vol. 43, №1, pp 13–23.

5. Frolov V., Kharlamov A., Ignatenko A. Biased GlobalIllumination via Irradiance Caching and Adaptive PathTracing on GPUs. GraphiCon’2010, p. 49-56.

6. Foley T., Hanrahan P. Spark: modular, composableshaders for graphics hardware. – ACM, 2011. – Vol.30. – №. 4. – p. 107.

7. Hanrahan P., Lawson J. A language for shading andlighting calculations //ACM SIGGRAPH. – ACM,1990. – fi. 24. – №. 4. – p. 289-298.

8. He Y. et al. Shader components: modular and high performance shader development //ACM Transactions onGraphics. – 2017. – Vol. 36. – №. 4. – p. 100.

9. Laine S., Karras T., Aila T. Megakernels consideredharmful: wavefront path tracing on GPUs //HPG’13.– ACM, 2013. – fi. 137-143.

10. Patney A. et al. Piko: a framework for authoring programmable graphics pipelines //ACM Transactions onGraphics. – 2015. – fi. 34. – №. 4. – p. 147.

11. Parker S. G. et al. GPU ray tracing //Communications of the ACM. – 2013. – Vol. 56. – №. 5. – p.93-101.

12. Parker S. G. et al. RTSL: a ray tracing shading language //2007 IEEE Symposium on Interactive RayTracing. – IEEE, 2007. – p. 149-160.

13. Perlin K. An image synthesizer //ACM Siggraph. –1985. – fi. 19. – №. 3. – p. 287-296.

14. Pharr M., Jakob W., Humphreys G. Physically basedrendering: From theory to implementation. – MorganKaufmann, 2016.

15. Sons K. et al. shade.js: Adaptive Material Descriptions //Computer Graphics Forum. – 2014. – Vol. 33.– №. 7. – p. 51-60.

16. Stich M. Real-time raytracing with Nvidia RTX, GTCEU 2018

17. Veach E. Robust Monte Carlo methods for light transport simulation. – PhD thesis : Stanford University,1997. – fi. 1610.

18. Zhdanov D. D., Ershov S.V., Deryabin N. B. Objectoriented model of photo-realistic visualization of complex scenes // Scientific visualization (in russian),Vol.5, № 4, 2013, pp. 88–117.

19. Arnold renderer GPU demo press release. URL =https://www.arnoldrenderer.com/news/press-releasearnold-5-3-gpu/

20. Blender community. Cycles Open Source ProductionRendering. URL = https://www.cycles-renderer.org/

21. Caustic Graphics. OpenRL: Open Ray Tracing Language. 2010.

22. Houdini 17.5 VEX language reference. 2019. URL =https://www.sidefx.com/docs/houdini/vex/lang.html

23. Hydra Renderer. Open source renderingsystem. KIAM RAS, MSU. 2019 URL =https://github.com/Ray-Tracing-Systems/HydraAPI

24. Nvidia Turing arch. paper. 2019 URL= http://www.nvidia.com/content/dam/enzz/Solutions/design-visualization/technologies/turingarchitecture/NVIDIA-Turing-ArchitectureWhitepaper.pdf

25. Nvidia RTX Ray tracing developer resources. 2019URL = https://developer.nvidia.com/rtx/raytracing

26. OctaneRender OSL Documentation. 2019. URL =https://docs.otoy.com/osl/

27. Open Shading Language. 2019. URL =https://github.com/imageworks/OpenShadingLanguage

28. Vulkan specification. 2019 URL =https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html