Программирование, 2023, № 3, стр. 3-12

ПОДДЕРЖКА ВЕКТОРНЫХ ТЕКСТУР В СИСТЕМЕ ФОТОРЕАЛИСТИЧНОГО РЕНДЕРИНГА НА GPU

В. В. Санжаров a*, В. А. Фролов ab**, В. А. Галактионов b***

a Московский государственный университет им. М.В. Ломоносова
119991 Москва, Ленинский горы, д. 1, Россия

b Институт прикладной математики им. М.В. Келдыша РАН
125047 Москва, Миусская пл., д. 4, Россия

* E-mail: vadim.sanzharov@graphics.cs.msu.ru
** E-mail: vladimir.frolov@graphics.cs.msu.ru
*** E-mail: vlgal@gin.keldysh.ru

Поступила в редакцию 09.01.2023
После доработки 16.01.2023
Принята к публикации 20.01.2023

Аннотация

Изображения в векторном формате представлены в виде последовательности аналитических описаний геометрических объектов. Такой подход позволяет воспроизвести изображение в любом разрешении без потери качества. На текущий момент не существует готовых решений для использования векторных изображений в системах фотореалистичного рендеринга на GPU. В данной работе представлен подход к реализации такой поддержки, основанный на базовых методах – полей расстояний со знаком и растеризации. Анализ результатов показывает эффективность подхода на основе полей расстояний для различных векторных изображений. Однако, в отдельных случаях возможно появление артефактов, в этом случае предлагается использовать подход на основе растеризации.

Список литературы

  1. Scalable Vector Graphics (SVG) Full 1.2 Specification, 2023. URL: https://www.w3.org/TR/SVG12

  2. Tu P., Wei L. Y., Zwicker M. Clustered vector textures // ACM Transactions on Graphics (TOG). 2022. T. 41. № 4. C. 1–23. https://doi.org/10.1145/3528223.3530062

  3. Noesis Gui. User Interface middleware for videogames and real-time applications, 2023. URL: https://www.noesisengine.com

  4. Green C. Improved alpha-tested magnification for vector textures and special effects // ACM SIGGRAPH 2007 Courses. 2007. P. 9–18.

  5. Orzan A. et al. Diffusion curves: a vector representation for smooth-shaded images // ACM Transactions on Graphics (TOG). 2008. T. 27. № 3. C. 1–8. https://doi.org/10.1145/1360612.1360691

  6. Li T. M. et al. Differentiable vector graphics rasterization for editing and learning // ACM Transactions on Graphics (TOG). 2020. T. 39. № 6. C. 1–15. https://doi.org/10.1145/3414685.3417871

  7. Reddy P. et al. Im2vec: Synthesizing vector graphics without vector supervision // Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021. C. 7342–7351.

  8. Jain A., Xie A., Abbeel P. VectorFusion: Text-to-SVG by Abstracting Pixel-Based Diffusion Models //arXiv preprint arXiv:2211.11319. 2022.

  9. Sanzharov V.V., Frolov V.A., Galaktionov V.A. Survey of Nvidia RTX technology // Programming and Computer Software. 2020. T. 46. № 4. C. 297–304. https://doi.org/10.1134/S0361768820030068

  10. Skia: The 2D graphics library, 2023. URL: https://skia.org/

  11. Cairo, a 2D graphics library with support for multiple output devices, 2023. URL: https://www.cairographics.org/

  12. Blend2d. 2D Vector graphics engine, 2023. URL: https://blend2d.com/

  13. resvg, SVG rendering library, 2023. URL: https://github.com/RazrFalcon/resvg

  14. OpenVG, the standard for vector graphics acceleration, 2023. URL: https://www.khronos.org/openvg/

  15. OpenVG, conformant Products, 2023. URL: https://www.khronos.org/conformance/adopters/conformant-products/openvg

  16. Kilgard M.J., Bolz J. GPU-accelerated path rendering // ACM Transactions on Graphics (TOG). 2012. T. 31. № 6. C. 1–10. https://doi.org/10.1145/2366145.2366191

  17. Loop C., Blinn J. Resolution independent curve rendering using programmable graphics hardware // ACM SIGGRAPH 2005 Papers. 2005. C. 1000–1009. https://doi.org/10.1145/1186822.1073303

  18. Ganacim F. et al. Massively-parallel vector graphics // ACM Transactions on Graphics (TOG). 2014. T. 33. № 6. C. 1–14. https://doi.org/10.1145/2661229.2661274

  19. Ray N., Cavin X., Lévy B. Vector texture maps on the GPU //Inst. ALICE (Algorithms, Comput., Geometry Image Dept. INRIA Nancy Grand-Est/Loria), Tech. Rep. ALICE-TR-05-003. 2005.

  20. Qin Z., McCool M.D., Kaplan C.S. Real-time texture-mapped vector glyphs // Proceedings of the 2006 symposium on Interactive 3D graphics and games. 2006. C. 125–132. https://doi.org/10.1145/1111411.1111433

  21. Chlumsky V. Shape decomposition for multi-channel distance fields: Master’s thesis, Czech Technical University. URL: https://dspace.cvut.cz/bitstream/handle/10467/62770/F8-DP-2015-Chlumsky-Viktor-thesis. pdf. 32, 2015.

  22. Nehab D., Hoppe H. Random-access rendering of general vector graphics // ACM Transactions on Graphics (TOG). 2008. T. 27. № 5. C. 1–10. https://doi.org/10.1145/1409060.1409088

  23. Akenine-Möller T. et al. Texture level of detail strategies for real-time ray tracing // Ray Tracing Gems. Apress, Berkeley, CA, 2019. C. 321–345. https://doi.org/10.1007/978-1-4842-4427-2_20

  24. Qin Z., McCool M D., Kaplan C. Precise vector textures for real-time 3D rendering // Proceedings of the 2008 symposium on Interactive 3D graphics and games. 2008. C. 199–206. https://doi.org/10.1145/1342250.1342281

  25. Vector images in public domain, 2023. URL: https://www.publicdomainvectors.org

  26. Open Clipart, online media collection, 2023. URL: https://openclipart.org/

  27. Sanzharov V.V., Frolov V.A. Level of detail for precomputed procedural textures // Programming and Computer Software. 2019. T. 45. № 4. C. 187–195. https://doi.org/10.1134/S0361768819040078

Дополнительные материалы отсутствуют.