Note
This project was completed as part of the GPU Image Synthesis course during the Winter Term 2024/25 of our undergraduate studies, offered by Prof. Dr. Quirin Meyer at Coburg University. It was originally developed on our university’s GitLab instance and later partially migrated here, so some elements like issues may be missing.
Important
This project is licensed under the MIT License and CC-BY 4.0.
Sueprvisors: Prof. Dr. Quirin Meyer and Bastian Kuth
Here you will find both Coburg mesh and scene viewer projects.
The Coburg mesh viewer is capabale of:
- Loading a mesh stored in the Cogra binary format
- Applying a wireframe overly
- Applying lighting
- Applying shading (both flat and smooth)
- Applying a texture
In this project, simple vertex and pixel shaders were implemented.
The Coburg scene viewer is capable of:
- Loading a glTF scene
- Applying a wireframe overly
- Drawing axis-aligned bounding boxes
- Applying lighting
- Applying shading (both flat and smooth)
- Applying a texture
In addition to vertex and pixel shaders, we had also a simple compute shader to calculate axis-aligned bounding boxes on the GPU.
git clone <repo-link>
cd first-assignment # or second-assignment
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=<vcpkg.cmake-file-path> ..After generating the solution, you can open it to select and run the project desired.
Important: See also license files within the data- and gimslib-directories for more precise information.
Special thanks go to:
- Prof. Dr. Quirin Meyer for his framework
- nothings for stb_image.c
- G-Truc Creation for GLM
- ocornut for Dear ImGui
- Microsoft for DirectX 12 and DirectX compiler
- The Stanford 3D Scanning Repository for the Stanford Bunny
- olmopotums for The Noble Craftsman
- SilkevdSmissen for WW2 Cityscene