I am curious about this subject because I am getting to the point where I will be refactoring the rendering of my engine soon. I have searched the internet for how to order the draw calls and this answer came: https://gamedev.stackexchange.com/questions/49779/different-shaders-for-different-objects-directx-11
However, shouldn't I be instancing all my meshes even if there is only 1 of them? And since we are instancing the meshes, doesnt that mean we are going to overdraw the pixel shader?
What is the solution? Overdraw if there is > 5 meshes of the same type on the scene, or only instance in batches while keeping render order 100%. Seems like there might be some net positive for rendering out of order vs rendering in order, even if we suffer overdraw.
P.S.
Okay, profile it. I get it. I do. I just want to know what is usually done.
Thanks!