Font Size: a A A

Design And Implementation Of A 3D Rendering Engine Based On Vulkan

Posted on:2021-03-09Degree:MasterType:Thesis
Country:ChinaCandidate:T L ShenFull Text:PDF
GTID:2428330611969480Subject:Engineering
Abstract/Summary:PDF Full Text Request
Computer graphics has developed rapidly in these years.It evolved from the era of fixed pipeline to the era of programmable pipeline.Programmable pipeline has brought great changes to graphics,constantly improving the quality of graphics rendering,but at the same time increasing the complexity of the graphics program development.Graphic program development involves the application of many underlying technologies,but for many developers,they only need to pay attention to the related technologies of the application layer,and do not care about the underlying technology,so a toolset is needed to encapsulate these underlying technologies.The 3D rendering engine encapsulates related technologies such as cross-platform,image rendering,memory management,and resource management.It provides developers with an easy-to-use interface to develop graphics programs,which greatly improves the developer's work efficiency.This paper studies the new graphics development library Vulkan,analyzes the workflow and interface design of Vulkan,and some mainstream 3D rendering engine architectures are analyzed and finally a Vulkan-based 3D rendering engine is designed and developed.On the basis of the engine architecture,the advanced rendering algorithm is integrated.The three-dimensional rendering engine designed in this paper is divided into multiple modules according to different functions,including ECS module,rendering module,memory management module,scene management module and resource management module,etc.,and they are designed and implemented one by one.This engine uses the latest industry standard Vulkan as the underlying graphics API.As a new graphics API,Vulkan optimizes the performance of graphics driver operations on the CPU and easily supports multi-threading.This engine uses a multi-threaded model to make fulluse of modern CPUs,and multiple threads cooperate with each other,which greatly improves engine performance.In addition,this article uses a cache-based memory management strategy in the memory management module,which significantly reduces the number of dynamic memory allocations,avoids the generation of memory fragments,and improves improves the efficiency of memory utilization.
Keywords/Search Tags:3D rendering engine, Vulkan, Cache-based memory management, Entity component system
PDF Full Text Request
Related items