Shader Mixer - Custom shader works in the original scene and new scenes but not existing ones.
So I created a custom shader using the shader mixer that includes some blending and other advanced stuff. In the original scene I created it in, it works perfectly. If I create a new scene and add objects and apply the shader to them it also works perfectly.
However, if I open up an existing scene, and apply the shader to any objects, those parts of the object with the shader applied are invisible in iray and iray viewport renders. If i delete all the objects in the scene, and then add a new one, I see a popup that daz clears the scene and then adds the new object, and at that point the shader works perfectly again. I want to sell this shader as a product, and obviously if it doesn't work in existing scenes that's a no-go. Does anyone have any idea why this would be happening?
These scenes are also super simple, basically just a single clothing item in a scene, so there aren't a lot of variables here. It basically seems to be that once Daz has cleared a scene it works again. Except for that original scene that works all the time.
Comments
Is it a whooly original shader or a modification of an existing shader? What is its name (listed at top-left of the Editor tab of the Surfaces pane)?
It was created using the uber shader as the starting point and then stripping almost everything out. I set the name to "Clothing OptoShader".
it's possible that it isn't being "seen" as a different shader, and so isn't replacing the default Daz Uber Base (assuming that is the shader on the problem objjects). In any event, if you start from Iray Uber Base you would need Daz' permission to distribute.
I think I figured out the issue was that I was clamping opacity by 0/1 instead of black/white, no idea why that caused it to work in some scenes but not others, but appears to be fixed now. Regarding the uber permission, there isn't anything actually remaining from the uber shader at this point, but shader mixer is so badly designed and documented that's it's usually easier to start from a working shader than starting from scratch.
Thanks for the suggestions.