|

Применение библиотеки Vulkan для визуализации геометрических моделей

Авторы: Хакимова Д.Ф.
Опубликовано в выпуске: #3(98)/2025
DOI:


Раздел: Информатика, вычислительная техника и управление | Рубрика: Автоматизация и управление технологическими процессами и производствами

Ключевые слова: САПР, геометрическая модель, визуализация, триангуляция, Vulkan, графический API, графический конвейер, рендеринг

Опубликовано: 29.06.2025

Работа посвящена анализу и разработке инструмента визуализации (визуализатора) трехмерных геометрических моделей для системы автоматизированного проектирования (САПР) с применением библиотеки Vulkan. Представлен алгоритм триангуляции геометрических моделей, рассмотрены последующие этапы обработки данных визуализатором. Выполнен обзор таких инструментов, как OpenGL, Mantle, DirectX, Metal и Vulkan, по результатам которого обоснован выбор библиотеки Vulkan как средства эффективного управления аппаратными ресурсами и обеспечения максимальной производительности. Представлен алгоритм триангуляции геометрических моделей, рассмотрены последующие этапы обработки данных визуализатором. Рассмотрены основные компоненты визуализатора для САПР, разобран принцип их работы, приведено описание программной реализации визуализатора трехмерных моделей, включая алгоритм визуализации трехмерных моделей и управления камерой.


Литература

[1] Норенков И.П. Основы автоматизированного проектирования. Москва, Изд-во МГТУ им. Н.Э. Баумана, 2009, 430 с.

[2] Тарабарин В.Б., Козов А.В. Исследование структуры, кинематики и 3D-моделирование механизмов Фергюсона. Наука и образование: научное издание МГТУ им. Н.Э. Баумана, 2015, № 6, с. 517–532.

[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] Максименко Э. Визуализация в САПР: зачем мы написали еще один 3D-движок и как он работает. URL: https://habr.com/ru/companies/ascon/articles/354636/ (дата обращения 06.09.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 (дата обращения 02.11.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/ (дата обращения 09.09.2024).

[8] Руководство по программированию для DirectX 12. URL: https://learn.microsoft.com/ru-ru/windows/win32/direct3d12/directx-12-programming-guide (дата обращения 09.09.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/ (дата обращения 11.09.2024).

[11] Дижевский А.Ю. Общий подход к реализации методов построения триангуляций неявно заданных поверхностей, использующих разбиение пространства на ячейки. Вычислительные методы и программирование, 2007, т. 8, с. 286–296. URL: https://num-meth.ru/index.php/journal/article/view/270 (дата обращения 14.11.2024).

[12] Скворцов А.В. Обзор алгоритмов построения триангуляции Делоне. Вычислительные методы и программирование, 2002, № 3, c. 14–39. URL: https://num-meth.ru/index.php/journal/article/view/45 (дата обращения 14.11.2024).

[13] Vulkan Documentation. URL: https://docs.vulkan.org/spec/latest/index.html (дата обращения 09.09.2024).

[14] Jason L. McKesson Learning Modern 3D Graphics Programming. 2012, 360 p. URL: https://paroj.github.io/gltut/ (дата обращения 02.11.2024).

[15] Overvoorde A. Vulkan Tutorial. 2023, 286 p. URL: https://vulkan-tutorial.com/resources/vulkan_tutorial_en.pdf (дата обращения 14.11.2024)

[16] Селлерс Г. Vulkan. Руководство разработчика. Москва, ДМК Пресс, 2017, 394 с.