Consider a scenario in which each object in a scene has only simple, very low-poly geometry (quads, etc.) and only a single (colour-)texture, all being rendered via the automatic shader-generator. In such a scenario, is it more rendering-efficient to have each object’s texture be applied via a material (set in the modelling program), or in code via “NodePath.setTexture”?
Part of my uncertainty is that each object would be modelled separately, and despite the materials differing only by the textures applied, I don’t know whether they would thus be treated as separate materials or unified in some way.
Similarly, I don’t know whether the auto-shaders are more efficient at rendering geometry with materials, or with none(/some Panda-provided default, if that’s how it works).
I’m thus in two minds as to whether to model these objects with materials, and apply my textures there, or to model them blank, and apply my textures in code.
(I doubt that it’s likely to be a major issue with such simple geometry, but it seems worth asking.)