Hi forum!
While reversing one program, I found that it uses separate vertex buffers in combination with index buffer:
- vb0 = Positions (always used)
- vb1 = Normals (always used)
- vb2 = UV (used only in high quality)
- Index buffer
The only explanation I have: for some conditions (like don’t use UV), they simply don’t pass one of the buffer to the shader.
So, in low quality, GPU memory usage is lower.
Questions:
- Is there any benefit of separation positions and normals, if they are used in all circumstances?
- If all buffers are used in a shader, are there any benefits of using several buffers instead of one, that contains all data for one vertex?
Thanks in advance!