Implement Batch Rendering by enabling users to 'flatten' a MeshNode tree
- Dominant language
- C++
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
I would like to implement some form of batch rendering, where the vertex data for multiple meshes/models are stored contiguously in a single VAO, instead of a 1:1 Mesh:VAO relationship.
However, I do like the logical clarity of the MeshNode tree and the way resources currently work (in the upcoming Engine-Overhaul branch).
One solution could be to have a process where a whole MeshNode tree can be flattened into a single MeshNode with one mesh. We could then say that MeshNode now also points to its 'flat' representation as well as its children. When we attempt to draw a meshnode with a 'flat' representation, we would now just draw this flat version, instead of descending the tree and drawing all its children individually.
We would also likely want some mechanism that unloads children of a node that has been flattened (from the GPU), as these will never be drawn by OpenGL directly, and are now just logical representations?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.