Seem that i miss to set in GetRenderInfo() the SHADERINFO_DYNAMICSUBSHADERS. Now all seem working good. A confirmation will be welcome. :)
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
@PluginStudent Hi, thank for answer.
I hape problem when save project with asset it used. Seem to work not well. Texture manager also have problem.. missing textures.
For "Sub Texture" i mean that this is a shader like Layer or Filter. This shader have layers and each layer can have a lot textures inside.
I would like to "handle" to know, so i asked to detailed example to learn and understand why we have so problems in texture manager and loading saved scene with assets. Texture are not miss at all but something is missing in the management of assets.
i need to detect a key pressed while i'm inside my custom shader gui.
I also need to know if is possible to press a custom bitmap button (in the shader description) and prevent that the shader get dirty and prevent the refresh of this shader/material.
Thanks in advance and Merry Christmas to all :)
feel free to mark this thread as "solved"
Edit: Solved done :)
in the while I already made exactly what you said using the Hash2DGrid instead the KDTree.
I just hoped to a something internal in Cinema already prepared without caching uvw structures in initrender.
Edit: Thanks for the links you provided.. but i already learned from that. Very useful of course.
I have a particular need. I'm inside the Output() of my custom shader.
I need to retrieve, from a particular UV (cd->p), the corresponding surface point of current RayObject. Maybe there is something that i don't know to do that while rendering is in progress.
Thanks in advance :)
EDIT: I'm sorry, i meant from a particular UV not the current cd->p. So, inside the Output() would be great to ask for any UV value and get the surface coordinate.