Застосунок для дослідження ефективності програмних засобів для 3D рендерингу в сфері розробки відеоігор - Процик, Максим Юрійович; Protsyk, Maksym Yuriiovych (Національний університет "Львівська політехніка", 2024)
Метою даної магістерської кваліфікаційної роботи є розробка застосунку для дослідження програмних засобів для 3D рендерингу в сфері розробки відеоігор. Основними завданнями роботи стали розробка ігрового рушія на базі архітектури ECS (англ. Entity-Component-System) з можливістю гнучкої конфігурації сцен за допомогою JSON-файлів, впровадження в розроблений рушій трьох популярних графічних API (англ. Application Programming Interface): DirectX 11, OpenGL та Vulkan, реалізація збору метрик про продуктивність впроваджених API, а також подальший аналіз і порівняння обраних засобів рендерингу. Робота складається з чотирьох розділів. У першому розділі було оглянуто сучасні дослідження, пов’язані з розробкою ігрових рушіїв, рендерингом та вимірюванням ефективності засобів рендерингу. У другому розділі було описано всі теоретичні відомості потрібні для проведення дослідження, а саме: алгоритм растеризації, що використовується в обраних API, структури даних потрібні для розробки архітектури ECS, а також методологію аналізу продуктивності засобів рендерингу з використанням статистичних тестів. Третій розділ фокусується на реалізації розробленого інструмента, він містить опис розробленої архітектури для легкої заміни API рендерингу, принципи конфігурації сцен та деталі реалізованого користувацького інтерфейсу. У четвертому розділі розроблений інструмент та методологію порівняння було застосовано для аналізу ефективності обраних API, що дозволило сформулювати рекомендації щодо використання кожного з них. Розробений застосунок забезпечує легку інтеграцію нових графічних API та буде корисними для розробників відеоігор та інших високопродуктивних застосунків у сфері тривимірного рендерингу. Крім того, покращена методологія для аналізу ефективності засобів рендерингу дозволяє отримувати менш упереджені результати в порівнянні з іншими сучасними дослідженнями.

The purpose of this master's thesis is to implement an application for researching the efficiency of programming tools for 3D rendering in video game development. The main tasks of the work were to develop a game engine based on the ECS (Entity-Component-System) architecture with the ability to configure scenes using JSON files flexibly, integrate three popular graphics APIs (Application Programming Interface) in the developed engine: DirectX 11, OpenGL, and Vulkan, implement the collection of metrics on the performance of the implemented APIs, as well as further analysis and comparison of selected rendering tools. The work consists of four sections. The first section reviews modern research related to the development of game engines, rendering, and measuring the effectiveness of rendering tools. The second section describes in detail all the theoretical information required for the study, namely: the rasterization algorithm used in the selected APIs, the data structures required for the development of the ECS architecture, as well as the methodology for analyzing the performance of rendering tools using statistical tests. The third section focuses on the implementation of the developed tool, it contains a description of the developed architecture for easy replacement of the rendering API, the principles of scene configuration, and details of the implemented user interface. In the fourth section, the developed tool and the comparison methodology were applied in practice to analyze the efficiency of the selected APIs, which made it possible to establish the recommendations for the use of each of them. The developed application provides easy integration of new graphics APIs and will be useful for developers of video games and other high-performance applications in the field of 3D rendering. In addition, the improved methodology for analyzing the efficiency of rendering tools allows for less biased results compared to other modern studies.
Application for researching the efficiency of programming tools for 3D rendering in video game development
Keywords: 3.121.00.00; рендеринг в реальному часі; DirectX; OpenGL; Vulkan; вимірювання продуктивності; real-time rendering; DirectX; OpenGL; Vulkan; performance measurement