Sometimes, the 3Delight render engine in DAZ Studio can throw a hissy-fit and complain with the following error message:
3Delight message #45 (Severity 2): S2069: the interface of shader '/Users/versluis/Library/Application Support/DAZ 3D/Studio4/temp/shaders/brickyard/{407f8e5c-3a9b-4708-b5e5-799ff1fe7c1d}/shader_Surface.sdl' is invalid 3Delight message #45 (Severity 2): S2051: cannot load shader 'brickyard/{407f8e5c-3a9b-4708-b5e5-799ff1fe7c1d}/shader_Surface', will use 'defaultsurface'
This problem occurs frequently on complex shaders, such as human skin. I have no idea what causes it, because it appears to happen randomly and without reason. Here’s an example of how scary such an error can manifest in a render.
Even saving the scene and loading it may not resolve the issue. Which can be extremely annoying.
Lucky for us there’s an easy way to fix this, thanks to a tip from jestmart on the DAZ Forums. All we have to do is remove the temporary folder in which 3Delight compiles shaders to make rendering more efficient (where I guess sometimes an error can occur). So it’s not the scene or the actual shader that has a problem, it’s just the compiled version of the files before the engine can go to work.
Here’s what we can do to fix it: remove the brickyard folder in DAZ Studio’s temp folder. On a Mac it’s located in /Users/you/Library/Application Support/DAZ 3D/Studio4. Here, navigate to the temp/shaders folder and remove the brickyard folder (the error message shows the full path to that folder).
On a Mac, navigating to that folder via Finder only works with a trick, because the Library folder is hidden by default. You an either use the command line to navigate there, or use Finder and hold down ALT while you click on the Go menu item (this will show the Library option).
When the brickyard folder is deleted, simply start that render again. 3Delight will go ahead and re-compile all missing shaders – this time hopefully without adding freaky effects. There’s no need to restart DAZ Studio. Nice!