- User Since
- May 17 2016, 9:40 AM (45 w, 15 h)
Regarding the SSS color topic: Currently I'm "multiplying" the surface and subsurface color together. Other renderers like the one in Modo and Renderman are simply blending those colors together using the subsurface amount. But there's also another approach which is described here. At the moment I think it would make sense to handle it like Renderman does because this is the "ground truth" for the Disney shader, but it can be discussed before I change it.
Tue, Mar 21
Tue, Mar 7
Sun, Mar 5
Feb 6 2017
Thanks for your review. The current update implements the GLSL version of the Principled BSDF. I also tried to implement the anisotropy correctly but failed due to the missing tangent. I then computed a default tangent as a workaround. Maybe one of you (who has more knowledge in GLSL shaders) can have a look into it and give a better way of handling this problem.
- Fix to comply strict compiler flags
- Fix for non-working GLSL shading
- Implemented the real-time view port for the Principled BSDF (except for transparency and SSS)
Jan 25 2017
Jan 24 2017
- Renamed the Disney BSDF to Principled BSDF
- Fixed artifacts in specular reflections for low roughness values
- Distinction between GGX with or without Fresnel is now handled via the type of the closure (e.g. CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID)
- Fixed the error in the clearcoat, where the highlight appeared too bright for default light sources (like directional lights)
I was waiting for further reviews. ;-)
Dec 14 2016
Dec 12 2016
Nov 15 2016
Nov 11 2016
Nov 10 2016
Nov 7 2016
Again some updates on the code based on the comments:
- Consolidated code in the bsdf_microfacet_multi_impl.h file to reduce some computational expense.
- Use reflection BSDF for glossy reflections when roughness is 0.0 to reduce computational expense.
- Improved the optics of the clearcoat part by using GTR1 instead of GTR2 for the D term.
- Code style cleanup and removed some unneeded code.
- Resolved inconsistencies in using tabs and spaces.
Oct 31 2016
Oct 26 2016
- Rearranged the inputs of the shader node
- Added "Subsurface Radius" parameter to control the per color channel radius of the subsurface scattering
- Fixed the issue with artifacts when using anisotropy without linking the tangent input to a tangent node
- Removed the color parameters from the diffuse and sheen shader and use them as closure weights instead
- Switched from uniform to cosine hemisphere sampling for the diffuse and sheen part
- Removed default values in setup functions and added extra functions for GGX with fresnel instead
- Fixed a bug when using glossy reflections/refractions with low roughness values
- Cleanup of the code
Oct 25 2016
Oct 21 2016
Previous diff was wrong...
Or is it correct to simply do a diff against the previously reviewed commit?
The parameter names of the shader node have now spaces between the words (like for 'SpecularTint' -> 'Specular Tint').