A Technology to Synthesize Software Complexes with Hybrid Visualization Vulkan-OpenGL
https://doi.org/10.15514/ISPRAS-2023-35(4)-6
Abstract
In this paper, the task of embedding computer visualization, performed using the Vulkan API, into OpenGL-based software complexes, is considered. A low-level hybrid approach to implement the collaboration of two APIs within the same application is described, as well as, the organization and synchronization of access to shared resources. The technology is proposed, which "encapsulates" the hybrid approach in a separate library module (VK-capsule) with a high-level interface that is dynamically linked to the executable module of OpenGL-complex (GL-visualizer). The paper describes methods for construction of the interface and connection of the VK-capsule, providing minimal intrusion into GL-visualizer. Based on the proposed methods and technology, a prototype of modular software complex implementing hybrid Vulkan-OpenGL visualization was developed. The approbation of the created complex was carried out, which confirmed the adequacy of the proposed solutions to the task assigned and the possibility of using them to expand the capabilities of visualization systems built on the OpenGL.
About the Authors
Petr Yurievich TIMOKHINRussian Federation
Senior Researcher of SRISA RAS. Research interests: computer graphics, visualization.
Mikhail Vasilievich MIKHAYLYUK
Russian Federation
Doctor of Physical and Mathematical Sciences, Professor, Chief Researcher of SRISA RAS. Research interests: computer graphics, visualization, virtual environment systems.
References
1. OpenGL - The Industry Standard for High Performance Graphics. Available at: https://www.opengl.org/, accessed 13.07.2023.
2. Михайлюк М.В., Мальцев А.В., Тимохин П.Ю., Страшнов Е.В., Крючков Б.И., Усов В.М. Система виртуального окружения VirSim для имитационно-тренажерных комплексов подготовки космонавтов. Пилотируемые полеты в космос, № 4(37), 2020 г., стр. 72-95. DOI: 10.34131/MSF.20.4.72-95. / Mikhaylyuk M.V., Maltsev A.V., Timokhin P.Yu., Strashnov E.V., Kryuchkov B.I., Usov V.M. The VirSim Virtual Environment System for the Simulation Complexes of Cosmonaut Training. Pilotiruemye polety v kosmos / Manned Spaceflight, № 4(37), 2020, pp. 72-95 (in Russian). DOI: 10.34131/MSF.20.4.72-95.
3. ParaView - Open-source, multi-platform data analysis and visualization application. Available at: https://www.paraview.org/, accessed 13.07.2023.
4. Avogadro - Free cross-platform molecule editor and visualizer. Available at: https://avogadro.cc/, accessed 13.07.2023.
5. UNIGINE: real-time 3D engine. Available at: https://unigine.com/, accessed 13.07.2023.
6. NVIDIA RTX platform. Available at: https://developer.nvidia.com/rtx, accessed 13.07.2023.
7. Vulkan - a cross-platform industry standard for 3D graphics and computing. Available at: https://www.vulkan.org/, accessed 13.07.2023.
8. VulkanSceneGraph (VSG), Vulkan & C++17 based Scene Graph Project. Available at: https://vsg-dev.github.io/vsg-dev.io/, accessed 13.07.2023.
9. Фролов В.А., Санжаров В.В., Галактионов В.А., Щербаков А.С. Автоматизация разработки на Vulkan: предметно-ориентированный подход. Труды ИСП РАН, том 33, вып. 5. 2021 г., стр. 181-204. DOI: 10.15514/ISPRAS-2021-33(5)-11 / Frolov V.A., Sanzharov V.V., Galaktionov V.A, Scherbakov A.S. Development in Vulkan: a domain-specific approach. Trudy ISP RAN/Proc. ISP RAS, vol. 33, issue 5, 2021, pp. 181-204 (in Russian). DOI: 10.15514/ISPRAS-2021-33(5)-11.
10. Тимохин П.Ю., Михайлюк М.В. Рендеринг детализированных полей высот в реальном времени с использованием аппаратного ускорения трассировки лучей. Труды 32-й Международной конференции по компьютерной графике и машинному зрению (GraphiСon 2022), Рязань, 19-22 сентября 2022 г., стр. 124-135. DOI: 10.20948/graphicon-2022-124-135 / Timokhin P.Yu., Mikhaylyuk M.V. Real-time Rendering of Detailed Height Fields Using Hardware-based Ray Tracing Acceleration. In Proceedings of the 32th International Conference on Computer Graphics and Vision (GraphiCon 2022), Ryazan, Russia, September 19-22, 2022, pp. 124-135 (in Russian). DOI: 10.20948/graphicon-2022-124-135.
11. Lefrançois M.-K. OpenGL Interop. NVIDIA DesignWorks Samples. Available at: https://github.com/nvpro-samples/gl_vk_simple_interop, accessed 13.07.2023.
12. Lefrançois M.-K. OpenGL Interop – Raytracing. NVIDIA DesignWorks Samples. Available at: https://github.com/nvpro-samples/gl_vk_raytrace_interop, accessed 13.07.2023.
13. Vulkan Samples, OpenGL interoperability, The Khronos Group. 2020-2023. Available at: https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/extensions/open_gl_interop, accessed 13.07.2023.
14. Wong U., Whittaker W., Jones H., Whittaker R. NASA Planetary Pits and Caves Analog Dataset. December 2014. Available at: https://ti.arc.nasa.gov/dataset/caves/, accessed 13.07.2023.
Review
For citations:
TIMOKHIN P.Yu., MIKHAYLYUK M.V. A Technology to Synthesize Software Complexes with Hybrid Visualization Vulkan-OpenGL. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2023;35(4):121-128. (In Russ.) https://doi.org/10.15514/ISPRAS-2023-35(4)-6