You have a mesh with 3 material slots, that's all that matters. If you have 3 material slots that's 3 drawcalls to render that mesh, no matter what materials are assigned. If you have 2 versions of the same mesh that have 3 matIDs each, it's 6 total draw calls no matter if they share materials or not.
I jump on this today. I'm currently planning a new environments and I was grouping all the information I had about the performances in the UDK. I decided to do some tests by myself to be sure. And I meet a problem. This is probably me doing something wrong. I have made 2 meshes : the geometry is identical but one has only…
Well : Screenshot 3 : 1 mesh with material 1, 3 and 4 applied on it. Screenshot 4 : 2 meshes. They have the same topology and materials slot number but I have duplicated them inside my package to be sure they are different for the engine. The first mesh has the mat 1, 3 and 4 applied on it. The second mesh has mat 1, mat3…
You should create a simpler test case, i'm losing you in what's different in shot 3 and 4. I think an easy way to think of draw calls is, if you have the same mesh throughout your scene its mesh count * # of mat IDs
Anytime you make a new MIC you are creating a new Draw Call. So while the per pixel cost of multiplying AO on top of your mesh is negligible, you are creating some performance cost by having multiple materials. If these are huge meshes, like building size, and they only contain like 3-5 materials it probably won't be so…