Reducing draw calls with atlasing -- does anybody care?

well… you can do that in ue too. say… you have littering in your scene. 500 things but using 20-30 different meshes with materials. first of all you use instances to dupe them. and you use material instances to not create new shaders. it draws every material instance and amount of instances existing. that would be the 20-30 draw calls from the material instances. at draw time the vertex and texture data is mosdef already on the gpu. it does not batch this in software. in multithreaded rendering this may be batched and is just a couple of draw commands. but essentially one call cause you set the shader only once. the rest is instanced materials.

set core shader
set mesh buffer
set instance buffer
set input texture
draw mesh instances
set mesh buffer
set instance buffer
set input texture
draw mesh instances

this is a kinda fast path cause you don’t have to rebuild the render pipeline. this is what would be stalling.