Problem with Pyro Shader Shadows

   2266   3   1
User Avatar
Member
80 posts
Joined: June 2013
Offline
Experiencing very strange behavior from the Shadow Color settings on Pyro Shader. The shadow color appears to be working in an inverse to its intensity. Black shadow color (rgb 0,0,0) results in no shadows! White shadow color (rgb 1,1,1 usually*) appears as normal. Tinting appears to work normally.

(*usually because at one point there were no shadows when the intensity was all zeros or all ones, non whole numbers in between worked with inverted intensity.)

It started when experimenting with shadows colors in the Pyro Shader vs shadow colors on the (one Distant) light. At one point the shadows disappeared despite the black shadow color, that is when the inverse started. I restored factory defaults which appeared to work but the problem returned upon reopening the file. Then it got weird.

Now when I create a new Pyro Shader it loads with the default Shadow Color set to white (1,1,1) and the shadow intensity inverted. Nothing restores the norm shadow color behavior (unless I have it backwards, but that would be pretty counter intuitive to shadow darkness inverse to the shadow color darkness. )

I have updated Houdini, deleted all versions and reinstalled the latest. The problem persists, even in a file started from scratch. A search for this problem shows nothing… what is happening with the Pyro Shadows??? How could a problem that started in a previous version survive the reinstalls and update? Is it a bug or did I break/miss something?

Attaching the test file and an image showing rendering of black non shadows, shadows do appear with lighter shadow color.

Edited by Rebus B - Aug. 10, 2018 13:32:17

Attachments:
bestPyroTest_01.hiplc (1.0 MB)
NoShadowsBlackShadowColor01.PNG (491.9 KB)
DefinteShadowsWhiteShadowColor01.PNG (616.8 KB)

User Avatar
Member
8173 posts
Joined: Sept. 2011
Offline
What's the problem? It seems to be working as intended. Shadows are subtractive/absorptive, so ‘white’ would be full shadow absorption matching camera ray absorption. Zero shadow intensity would be 0% of the camera amount which would make it fully transparent to shadow rays.
User Avatar
Member
80 posts
Joined: June 2013
Offline
Thanks jsmack… that is good to know and glad its not broken.

But wait… if it is subtractive than wouldn't the hue be inverted as well as the intensity? If you subtract a blue tinted shadow color from white light, you should wind up with yellow shadows (R+G remain.)

Anyway, just glad to have confirmation its operating as expected. I could have sworn that it was doing the reverse at one point but it must have been my assuming the pyro shadow color would work the same as with lights.
User Avatar
Member
8173 posts
Joined: Sept. 2011
Offline
Rebus B
Thanks jsmack… that is good to know and glad its not broken.

But wait… if it is subtractive than wouldn't the hue be inverted as well as the intensity? If you subtract a blue tinted shadow color from white light, you should wind up with yellow shadows (R+G remain.)

Anyway, just glad to have confirmation its operating as expected. I could have sworn that it was doing the reverse at one point but it must have been my assuming the pyro shadow color would work the same as with lights.

Yes, the hue should be inverted, but I think in this case the shader author thought that would be too unintuitive, so he/she put a hue rotation on the shadow color before it passes on to the output. Personally, I think this makes it more confusing because you expect inverted values to invert the color too.

If you right click the pyroshadercore, open type properties, you can read the source code of the shader. It might make it more clear what happens and why.
Edited by jsmack - Aug. 10, 2018 14:45:18
  • Quick Links