BunnyLOD
Physically-based-deferred-shading
Our great sponsors
BunnyLOD | Physically-based-deferred-shading | |
---|---|---|
4 | 2 | |
74 | 11 | |
- | - | |
0.0 | 0.0 | |
almost 4 years ago | almost 4 years ago | |
C++ | C++ | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BunnyLOD
-
question about wasted index Buffer data
If you reuse the same index buffer as proposed then you won't be able to share vertices, which can be an important optimization. In my case I use a 323 cache of vert indices and just insert an index rather than a vertex if the vertex already exists and has the same material. I generate normals in the pixel shader to increase what can be shared, and then use a variant of Stan Melax's edge collapse polygon reduction algorithm to combine edges and reduce triangle count.
-
help implementing LOD edge collapse algorithm
You might want to take a look at Stan Melax's easy mesh simplification technique with edge collapse at http://www.melax.com/polychop (read the full article link) - I've ported the code so it runs cross platform on https://github.com/dougbinks/BunnyLOD
-
Mesh optimization algorithms
I use a variant of progressive meshing, but constrained to preserve edges, normals and ambient occulusion in Avoyd based on Stan Melax's work: https://github.com/dougbinks/BunnyLOD
-
Voxel Vendredi 81
My triangle reduction in Avoyd, loosely based on Stan Melax's progressive mesh approach checks that the vertex being removed is internal to a set of triangles by checking that the internal angles add up to roughly 2Pi. This also ensures only flat surfaces are reduced, although I also perform normal checks and that vertex ambient occlusion gradients are preserved.
Physically-based-deferred-shading
-
What was the highlight of your education as a CS major?
Link with some videos/gifs since OP asked: https://github.com/jonaskris/Physically-based-deferred-shading
-
Project Ideas
For my graphics project i made a physically based renderer (with deferred lighting). You use textures for metalness, roughness and color to create materials that can be lighted very realistically. It was very fun to make, but prepare to spend a lot of time working on it.
What are some alternatives?
meshoptimizer - Mesh optimization library that makes meshes smaller and faster to render
limitless-engine - OpenGL C++ Graphics Engine
chip-8 - Yet another Chip-8 interpreter, but this time with a beautiful interface 💻
scop_vulkan - A 3D model viewer written C++20 and Vulkan
magnum - Lightweight and modular C++11 graphics middleware for games and data visualization
Multiple-Context-GLFW - Example using my utility MyContex to create Multiple OpenGL context with glfw3
assimp - The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
Bplus.jl - A modern OpenGL 4.6 rendering framework, written in Julia.
OpenGL-Particle-Motion - This project simulates the motion of electrons and protons using Coulomb's Law. The simulation is visually represented on-screen using OpenGL.
stylized_snake_game - A cross-platform desktop stylized version of snake game made from scratch in C++/OpenGL.