This project studies the possibilites and challenges of NVIDIA Mesh Shaders. With custom meshlet based backface and frustum culling a comparison between Mesh Shader, Compute Shader and standard Vertex Shader is conducted to evaluate possible performance gains, pitfalls and obstacles.
A personal secondary purpose of the project was to implement a C++ framework from ground up using Entity Component System. The EnTT library was used for this.
The 3D Models are from the Stanford 3D Scanning Repository: http://graphics.stanford.edu/data/3Dscanrep/
- Assimp (5.0.1)
- ImGui (1.74)
- EnTT (3.3.0)
- GLM (0.9.9.7)
- Glad (0.1.33)
- GLFW3 (3.3.2)
-
OpenGL Shader and Buffer Setup
-
Meshlet, Bounding Sphere and Bounding Cone creation
-
Main Loop
-
Shaders