Let's say I have a number of simple tables, chairs and shelves for a bar scene. I have already layed out UVS for them into a single atlas to reduce draw calls. But I want to optimize the scene even further so I was wondering - if I place furniture in my 3d package and then import it as single mesh will it be one drawcall? The target engine is Unity and I guess the answer is yes, as it's a single mesh = a bunch of vertices. The mesh shouldn't be watertight to be counted as a single drawcall, right?
Replies
That said, you can import them individually, and so long as they're all using the same material instance, you can mark them as static then enable static batching. Unity will compress them all into a single mesh for you at build time.
*Sort of. If you're in forward rendering, then it's a drawcall per pixel light affecting it, and then one for each shadow map. If you're in deferred, then it's one per GBuffer and then one for each shadow map. Maybe some more for realtime GI and such... I'm not certain how their system handles that. And if you've got baked lightmaps it'll be an extra drawcall for each lightmap on the mesh.
My guess is that you're wanting to know if it'll be treated as a single object when it comes to rendering, and yeah, it should do.