[Bf-cycles] Need testers for the Disney BSDF implementation

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Jul 25 18:12:51 CEST 2016

On Mon, Jul 25, 2016 at 8:35 AM, "Pascal Schön" <pascal_schoen at gmx.net> wrote:
> * To the stuff with the microfacet BSDF: Yes, it is a copy of the shader
> with the additional of the fresnel part. It was my first attempt here, to
> get it done correctly. It may be way better to integrate the fresnel in the
> microfacet BSDF and maybe do a simple "switch" for deactivating it. Would
> this be a better solution?

I think so, the metallic BSDF actually does something like that:

I don't know if your fresnel terms are different, but I guess it could
fit in some way.

> * Yeah, the energy conserving part is the problem I also came across. And I
> also thought of the solution with the clearcoat but with this, there would
> be two reflections, one that is blurry and one that is sharp.
> * This would be the best solution... (also if it's way more complex)

Right, the double highlights would be a problem.

Technically you can already do brute force scattering, if you use a
volume scattering node with high anisotropy it would look similar to
rough refraction? I wonder if that's really much slower to render or
noisier. At the moment I can't think of a good reason for why it
should be, but I might be missing something.

Involving volumes makes it not as easy to set up for users though, but
there could be ways to solve that.

Maybe separate refraction roughness is ok for now, but would be
interesting to check if the "correct" solution is actually that much

> Pascal
> Gesendet: Sonntag, 24. Juli 2016 um 15:29 Uhr
> Von: "Brecht Van Lommel" <brechtvanlommel at pandora.be>
> An: "Discussion list to assist Cycles render engine developers"
> <bf-cycles at blender.org>
> Betreff: Re: [Bf-cycles] Need testers for the Disney BSDF implementation
> Hi Pascal,
> I haven't found the time yet to look deeply into this. Some general
> questions for now:
> * There seems to be quite a bit of code duplication between the
> microfacet BSDFs, any plans to solve avoid that?
> * With a separate refraction roughness, it might be difficult to fit
> in multiple scattering GGX eventually? In general a different
> refraction and reflection roughness seems like it's difficult to make
> energy conserving. Why doesn't a sharp clearcloat with a rough
> reflection/refraction layer below work for your case?
> * Maybe the thing you're really trying to approximate with that
> refraction roughness is some forward scattering medium? We would need
> some brute force subsurface scattering implementation to handle that
> properly I guess.
> * Any ideas in general about using the multiple scattering GGX for the
> Disney BSDF? As I understand it sheen exists partly to compensate for
> the energy loss that we can now properly solve, though it is also used
> for cloth shaders so probably we would keep it regardless.
> Thanks,
> Brecht.
> On Wed, Jul 20, 2016 at 11:38 AM, "Pascal Schön" <pascal_schoen at gmx.net>
> wrote:
>> Hey guys,
>> after some weeks where I spent only little amount of time on the
>> implementation of the Disney BSDF/BSSRDF (my master thesis had to be
>> forced
>> a little bit ;-) ), I now need some testers for the shader. At this point
>> it
>> implements the current version of the Disney BSDF/BSSRDF that was
>> introduced
>> here:
>> http://blog.selfshadow.com/publications/s2015-shading-course/burley/s2015_pbs_disney_bsdf_notes.pdf
>> I would be very pleased if you would take some time and try out the shader
>> and mail me your feedback on the usability and correctness! You can also
>> write me if you have questions on the implementation.
>> Some notes:
>> - I added a roughness parameter for the refractions because I wanted to be
>> able to create translucent materials with a smooth surface and a milky
>> look
>> inside. The two roughness values are correlated for refractions because if
>> you have a rough surface it scatters the incoming rays while entering the
>> surface and is then scattered further within the object. For reflections
>> only the surface roughness value is used.
>> - For the subsurface scattering I simply use the already implemented
>> version
>> of the Burley/Christensen SSS.
>> Pascal
>> _______________________________________________
>> Bf-cycles mailing list
>> Bf-cycles at blender.org
>> https://lists.blender.org/mailman/listinfo/bf-cycles
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles

More information about the Bf-cycles mailing list