Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Shaders, to me at least, are pretty much magic. I have some basic ground knowledge from writing some simple ones myself, but as soon as the shaders get complex (like in this case physically accurate), it gets weird. I've searched out the .osl code for the Cycle Principled BSDF implementation, where we can see that the math for the colours is all in a range between 0 and 1. If, for example, the colour of the pixel is calculated with colour = (1.0, 1.0, 1.0); colour = colour * roughness, with a roughness value of 0.8, all will be in the expected interval. But if roughness is three orders of magnitude to high, the following calculations with the colour will be off just as well. And as soon as the light value reflected of the object is 500 instead of 0.5, every reflection, every other object being hit by the ray tracer, will have the same wrong value to calculate on with.