Hi All,

i'm working on my custom shader that can have a lot of subshaders as the C4D Layer shaders.

Using HandleShaderMessage i get problem with TextureManager. Every time i add a texture, in TexManager the list will be replaced by last shader added and also with Save Project with Asset i get Double Textures, renamed, in Tex Folder.
My question is: Do i really need to use HandleShaderMessage? If so.. why ?

Thanks in advance
Renato T.

Seem that i miss to set in GetRenderInfo() the SHADERINFO_DYNAMICSUBSHADERS. Now all seem working good. A confirmation will be welcome. :)

Renato T.

Hi @RenatoT thanks for reaching out us.
Can you please:

  • add a tag to specify the C4D version you're using?
  • can you make use of the Q&A functionality?

With regard to HandleShaderMessage, I confim that it is indeed used by shaders in NodeData::Message() when they have subchannels. The code snippet found the call documentation represents exactly what is used in the Fusion shader with regard to the Base, Mask and Blend channels.

Instead with regard to SHADERINFO_DYNAMICSUBSHADERS, assuming I've checked the version of Cinema you're working with, it is used no more.

Looking forward your further notes, give best.