Purpose of <setparam> when instantiating a material

I`m intersted what is the purpose of <setparam> in material instance, does not it mean that we create a new material instead of just an instance, or there is some other usage for it?

There is no <setparam> inside of <instance_material> so I’ll assume you mean inside of <material><instance_effect>.

This is because a <material>'s purpose it to pick a set of shading equations (effects) and customize them for a particular look-and-feel.
A leather effect may be used by two materials to make a blue leather and red leather. <setparam> changes the colors from their default.

Unfortunately most exporters today to not properly follow these guidelines and instead push all of the information down into the effects, causing serious bloat to the effect and material system.

Please feel free to contact the companies that authoried your exporter if you’d like that to change.


Yes, you are right there is no <setparam> inside of <instance_material>.
Maybe i saw that in a dream at night.