- Home /
Reducing draw calls
Hello guys,
I am currently trying to optimize my scene by reducing draw calls. To a certain extent I understand what needs to be done, but there are some details which give me headaches :D.
I understand that I need to combine meshes that use the same material into a single mesh. All is good. But as I understand, a better approach would be to also combine textures in a texture atlas and then combine all materials which use those textures (and also which use the same shader) into a single material which would be assigned to the final mesh.
The latter approach is what causes problems for me. For example, if we have 2 materials M1 and M2 which use 2 diffuse textures T1 and T2 and share the same shader we might decide to create a texture atlas which uses the 2 textures and then create the final material which uses the texture atlas. All's well. But what happens if materials M1 and M2 have different properties (one has a normal map and the other doesn't, different tiling, or they just differ by some other custom property), what should we do then?
Ignoring the values of the other properties doesn't seem to be alright because it would be too restrictive. Is it feasible to loop through all material properties and check if they are the same? If yes, how can I distinguish between diffuse textures, normal maps, cube maps etc?
I appreciate your help.
Cheers, Andrew
Your answer
Follow this Question
Related Questions
Batching draw calls? 2 Answers
Why aren't my particle systems batched? 1 Answer
Is there any way I can statically batch procedurally generated objects? 0 Answers
Why can't I batch some draw calls? 0 Answers
,Drawing 100 000+ cubes 1 Answer