Vulkan terrain renderer based on real-world height-maps for embedded systems
- Real-time rendering of real world terrain states a popular field of research of the recent decades. Real world terrain is represented by highly detailed data sets. Therefore, it is crucial to use methods and algorithms that create simplified terrain meshes out of this data. As a result, steadily new approaches and techniques are developed, to render terrain efficiently with a high degree of detail, while trying to use the most of the current hardware’s performance.
The goal of this thesis is to develop an off-screen terrain renderer using Vulkan as graphics API and real world data sets, as height maps and satellite images. Additionally, the developed terrain render is supposed to be executed on selected embedded devices, while still delivering high framerates.
In order to achieve this goal, necessary basic terminology and concepts of terrain rendering are dealt with. An important part of these concepts are performance optimizations, as level of detail and culling methods.
Furthermore, Vulkan as graphics API will be introducedReal-time rendering of real world terrain states a popular field of research of the recent decades. Real world terrain is represented by highly detailed data sets. Therefore, it is crucial to use methods and algorithms that create simplified terrain meshes out of this data. As a result, steadily new approaches and techniques are developed, to render terrain efficiently with a high degree of detail, while trying to use the most of the current hardware’s performance.
The goal of this thesis is to develop an off-screen terrain renderer using Vulkan as graphics API and real world data sets, as height maps and satellite images. Additionally, the developed terrain render is supposed to be executed on selected embedded devices, while still delivering high framerates.
In order to achieve this goal, necessary basic terminology and concepts of terrain rendering are dealt with. An important part of these concepts are performance optimizations, as level of detail and culling methods.
Furthermore, Vulkan as graphics API will be introduced and compared with its predecessor OpenGL. For a technical understanding of Vulkan it is crucial to look at its render pipeline and basic rendering concepts.
After several rendering methods are analyzed, based on them the design of this thesis’s renderer is examined, while the most important parts of its implementation are looked at closer by analyzing their code snippets.
The main part of this thesis is completed, by analyzing benchmarks of different scenarios to see how the developed terrain render behaves in different situations. These benchmarks include the frames per second, and statistics of the device’s hardware components, as CPU load, GPU load, memory usage and memory throughput.
The thesis ends, with a summary and general conclusion of the work. Possible future work includes optimizing the usage of embedded devices’ unified memory, testing of texture compression methods for an optimized memory usage or a comparison of an OpenGL version of the developed renderer by comparing benchmark results of the same scenarios.…
Author: | Peter Fischer |
---|---|
Language: | English |
Document Type: | Bachelor Thesis |
Reviewer(s) at THI: | Richard Membarth, Torsten Schön |
Publishing Institution: | Technische Hochschule Ingolstadt |
Date of first Publication: | 2024/03/01 |
Year of first Publication: | 2024 |
Place of publication: | Ingolstadt |
Pages: | IV, 60 |
URN: | urn:nbn:de:bvb:573-46984 |
Faculties / Institutes / Organizations: | Fakultät Informatik |
Degree Programmes: | Informatik (B. Sc.) |
Licence (German): | ![]() |
Release Date: | 2024/04/23 |