Shader-Material Linking



  • Hello,
    I know that for the BaseMaterial we can find which shader is applied to color's texture or diffusion's texture and so by using a BaseContainer
    (basecontainer->GetLink(MATERIAL_COLOR_SHADER, doc)) or a GeData by using GetParameter() function.
    Can we do the opposite of this. By traversing through all the shaders to find in which parameter(color,diffusion,luminance...) of a material each shader is used.
    Thank you.



  • Hi @Ogers, unfortunately, there is no direct way to do so.
    The only working solution is to retrieves the host of the shader (using BaseList2D.GetMain) Then iterates the description of this element and all its children to see where the shader is used.

    Cheers,
    Maxime.