Vulkan library application in visualizing the geometric models
Authors: Khakimova D.F. | ![]() |
Published in issue: #3(98)/2025 | |
DOI: | |
Category: Informatics, Computer Engineering and Control | Chapter: Automation, Control of Technological Processes, and Industrial Control |
|
Keywords: CAD, geometric model, visualization, triangulation, Vulkan, graphics API, graphics pipeline, rendering |
|
Published: 29.06.2025 |
The paper is devoted to analyzing and developing a visualization tool (visualizer) for the three-dimensional geometric models in the computer-aided design (CAD) system using the Vulkan library. It presents an algorithm for triangulating the geometric models, and considers subsequent stages in data processing by the visualizer. A review of such tools as OpenGL, Mantle, DirectX, Metal, and Vulkan is provided substantiating selection of the Vulkan library as a means of efficient management of the hardware resources ensuring the maximum performance. The paper presents an algorithm for triangulating the geometric models, and considers subsequent stages in data processing by the visualizer. Main components of the CAD visualizer are studied, and their operating principle is analyzed. The paper provides a description of the three-dimensional model visualizer software implementation, including the three-dimensional model visualization algorithm and the camera control algorithm.
References
[1] Norenkov I.P. Fundamentals of computer-aided design. Moscow, BMSTU Press, 2009, 430 p. (In Russ.).
[2] Tarabarin V.B., Kozov A.V. Investigation of the structure, kinematics and 3D modeling of Ferguson mechanisms. Science and Education: scientific publication of Bauman Moscow State Technical University, 2015, no. 6, pp. 517–532. (In Russ.).
[3] Tarabarin V., Kozov A. Analysis of structure, kinematic and 3D-modeling of Fergusons mechanisms. History of Mechanism and Machine Science, 2016, vol. 32, pp. 183–194. https://doi.org/10.1007/978-3-319-31184-5_17
[4] Maximenko E. Visualization in CAD: why we wrote another 3D engine and how it works. URL: https://habr.com/ru/companies/ascon/articles/354636 (accessed September 6, 2024).
[5] Shreiner D., Sellers G., Kessenich J. OpenGL programming guide: the official guide to learning OpenGL, version 4.3. Bill Licea-Kane, the Khronos OpenGL ARB Working Group, Addison-Wesley, 2013, 935 p.
[6] Smith R. Understanding AMD’s Mantle: A Low-Level Graphics API for GCN. URL: https://www.anandtech.com/show/7371/understanding-amds-mantle-a-lowlevel-graphics-api-for-gcn (accessed November 2, 2024).
[7] Khronos Vulkan Working Group. Vulkan 1.3.295 — A Specification (with all registered extensions). URL: https://registry.khronos.org/vulkan/specs/1.3/html/ (accessed September 9, 2024).
[8] Programming Guide for DirectX 12. URL: https://learn.microsoft.com/ru-ru/windows/win32/direct3d12/directx-12-programming-guide (accessed September 9, 2024).
[9] Shiraef J., Liang Y., Kizza J., Tanis C. An exploratory study of high performance graphics application programming interfaces. The University of Tennessee at Chattanooga, 2016, 87 p.
[10] Apple Developer, Metal Overview. URL: https://developer.apple.com/metal (accessed September 11, 2024).
[11] Dizhevsky A.Y. A general approach to the implementation of methods for constructing triangulations of implicitly defined surfaces using the division of space into cells. Computational Methods and Programming, 2007, vol. 8, pp. 286–296. URL: https://num-meth.ru/index.php/journal/article/view/270 (accessed November 14, 2024).
[12] Skvortsov A.V. Review of algorithms for constructing Delaunay triangulation. Computational Methods and Programming, 2002, no. 3, pp. 14–39. URL: https://num-meth.ru/index.php/journal/article/view/45 ((accessed November 14, 2024).
[13] Vulkan Documentation. URL: https://docs.vulkan.org/spec/latest/index.html (accessed September 9, 2024).
[14] Jason L. McKesson Learning Modern 3D Graphics Programming. 2012, 360 p. URL: https://paroj.github.io/gltut (accessed November 2, 2024).
[15] Overvoorde A. Vulkan Tutorial. 2023, 286 p. URL: https://vulkan-tutorial.com/resources/vulkan_tutorial_en.pdf (accessed November 14, 2024).
[16] Sellers G. Vulkan. Developers Guide. Moscow, DMK Press, 2017, 394 p. (In Russ.).