Skip to content

Masihtabaei/gpu-image-synthesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Coburg Mesh and Scene Viewers

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.

General Information

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.

Usage

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.

Screenshots

first-assignment-mesh-viewer_CHX7p73IQP first-assignment-mesh-viewer_RdtgermjTO first-assignment-mesh-viewer_7hBpzpi6aR first-assignment-mesh-viewer_rriTYbaNpE first-assignment-mesh-viewer_jD7p3chqvG first-assignment-mesh-viewer_A5Hnlc1Zhj second-assignment-scene-graph-viewer_HNE1wtOGoN second-assignment-scene-graph-viewer_hSi3E4t9sC second-assignment-scene-graph-viewer_KhSGECKPw5 second-assignment-scene-graph-viewer_KIhgXqEhq8 second-assignment-scene-graph-viewer_tWvSETKSXe second-assignment-scene-graph-viewer_wGGRbJ5HvA

Acknowledgement

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

About

Mesh and scene viewers implemented with DirectX 12 using vertex, pixel, and compute shaders with lighting, shading, and textures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages