Disney BRDF material

Discussion related to the LuxCore functionality, implementations and API.
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: Disney BRDF material

Post by epilectrolytics »

Dade wrote: Thu Jun 27, 2019 9:48 am The values is used as it is and compared with the threshold.
Ok.
provisory
Posts: 235
Joined: Wed Aug 01, 2018 4:26 pm

Re: Disney BRDF material

Post by provisory »

As I know Disney roughness = sqrt(glossy roughness), so it could be easily computed.
Disney material already includes a metal component so it doesn't make any sense to mix with metal (or glossy2).
It would be better to keep the opportunity for creative control IMHO.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Dade wrote: Wed Jun 05, 2019 6:54 pm I'm also checking a bit the code because some of the outputs doesn't look right to me.
I'm digging out some old stuff here, but I'd like to ask if you remember what these outputs were back then that you investigated? Was it just the things discussed in this thread like front-backside or the speculartint? Or something else? I saw nothing obvious in the commit history.

I am continuing here from this thread. I have tried to recreate the demo plot from the 2012 paper. This is the closest I have come by now, using the most similar HDRI I found:
Figure_4_crop.png
But it is difficult to know if it corresponds exactly as they don't mention what the other parameters are...
What I do observe is that the "Fresnel-halo" is very pronounced in LuxCore. Exemplified also by a specular halo that is presenent with the base color set to black:
blacksphere.png
So my second question besides that at the top: Does anyone know of any more references for how the Disney material is supposed to look?
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Disney BRDF material

Post by Dade »

CodeHD wrote: Sun Nov 22, 2020 8:52 pm But it is difficult to know if it corresponds exactly as they don't mention what the other parameters are...
The wonderful world scientific papers, 90% is just ru**ish, the other 9% may be interesting but they don't provide even half of the required information, the 1% is done right. Providing sample code should be the bare minimum requirement to publish a paper.
CodeHD wrote: Sun Nov 22, 2020 8:52 pm I'm digging out some old stuff here, but I'd like to ask if you remember what these outputs were back then that you investigated? Was it just the things discussed in this thread like front-backside or the speculartint? Or something else? I saw nothing obvious in the commit history.
I don't even see the post where I wrote that statement, I don't remember, it has been nearly 2 years.
CodeHD wrote: Sun Nov 22, 2020 8:52 pm So my second question besides that at the top: Does anyone know of any more references for how the Disney material is supposed to look?
There is the original paper and the 2x presentations at Siggraph(s) but the best source of information has always been: https://schuttejoe.github.io/post/disneybsdf/

Cycles sources may be a place where to look too. Intel OSPRay should have an implementation too.
Support LuxCoreRender project with salts and bounties
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Thanks for the quick response Dade!
Dade wrote: Sun Nov 22, 2020 9:43 pm The wonderful world scientific papers, 90% is just ru**ish, the other 9% may be interesting but they don't provide even half of the required information, the 1% is done right. Providing sample code should be the bare minimum requirement to publish a paper.
Strictly speaking, that "paper" is just labelled "course notes" on th website. It most certainly is not a peer-reviewed publication. I also find it a bit odd. It starts off with introducing this MERL database (which doesn't seem to be online any longer), then discusses what it shows at grazing incidence , and afterwards mentions that all data beyond 75 degrees "appears to be extrapolated" :?:
Dade wrote: Sun Nov 22, 2020 9:43 pm I don't even see the post where I wrote that statement, I don't remember, it has been nearly 2 years.
Fair enough, and I expected that. Just took a shot at asking :D
Dade wrote: Sun Nov 22, 2020 9:43 pm There is the original paper and the 2x presentations at Siggraph(s) but the best source of information has always been: https://schuttejoe.github.io/post/disneybsdf/

Cycles sources may be a place where to look too. Intel OSPRay should have an implementation too.
Those are some good suggestions! I did think of Cycles already but not OSPRay, and that Moana-website I was also not aware of.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Disney BRDF material

Post by Dade »

CodeHD, if you want something asked by a lot of people, add the support for specular transmission to current Disney code (i.e. SIGGRAPH 2015 Disney material extension). However the (very fake) SSS support described in 2015 doesn't make very much sense in Lux context so you may want to skip that.
Support LuxCoreRender project with salts and bounties
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Yes, given how much I already started reading into this topic I can try to do it.

The Moana-article you linked seems to describe 2015 as well, so there is example code. It also already provided me with some explanation for questions I had from the current LuxCore implementation.

I have briefly looked at cycles, I think it is also 2015 already (?) And there is definitely a difference with how it handels the fresnel effect for metals. I.e. Cycles actually allows to have a completely black shader.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Disney BRDF material

Post by Dade »

CodeHD wrote: Mon Nov 23, 2020 4:18 pm I have briefly looked at cycles, I think it is also 2015 already (?) And there is definitely a difference with how it handels the fresnel effect for metals. I.e. Cycles actually allows to have a completely black shader.
Be careful, Cycles has extend Disney material in multiple way including using no GGX model for micro-facets (something never even vaguely mentioned by Disney people).
Support LuxCoreRender project with salts and bounties
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: Disney BRDF material

Post by juangea »

Do you refer to the "Multiscatter - GGX" ?
I ask this because I only see two models in the cycles principled shader, GGX and Multiscatter-GGX.

Anyways, I'm not sure about the conversation going on here right now XD

But an update to Principled 2015, Principled Hair and Principled Volume would be very convenient :)

Right now there are some tasks that are overly complicated to achieve and control in LuxCore regarding shaders IMHO

- Proper Hair shader, useful for hair or fur (important not just for characters, but also for rugs, cushions and a variety of things)
- SubSurface Scattering in an easy way to control it, the cycles example (similar to others like Corona, Arnold, etc...) is a good one, since it's easy to understand and easy to control, and don't require to give transparency or transmission to the material and mix it with an inside volume.
- Multiscatter Acid glass, AFAIK we don't have multiscatter, so it's hard to achieve a proper acid glass effect.

Those two things are specially difficult right now, the principled volume would be convinient because it's easy to work with, but so far it's not that hard to achieve a very good volumetric result with LuxCore.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Dade wrote: Mon Nov 23, 2020 8:35 pm Be careful, Cycles has extend Disney material in multiple way including using no GGX model for micro-facets (something never even vaguely mentioned by Disney people).
juangea wrote: Tue Nov 24, 2020 3:21 pm Do you refer to the "Multiscatter - GGX" ?
I ask this because I only see two models in the cycles principled shader, GGX and Multiscatter-GGX.
Yes I think the multiscatter-GGX is the feature in question. I read through the original GGX paper now, and started with the Disney 2015 paper. They do mention multi-scattering as well, but rather as a discussion point, and apparently the "Sheen" component takes some compensating function for it (but with a different distribution). It looks to me like a good idea to include a multi-scatter model, I just have to be careful about energy conservation then.
Post Reply