Disney BRDF material

Discussion related to the LuxCore functionality, implementations and API.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Hi,

just wanted to write down some thoughts on this that I have collected. Let me know what you think.

1) The topic of subsurface scattering could use a bit of consideration. There has been some talk about this again yesterday on Discord. It seems that it is important for artists to have SSS somehow bundled in the same node. Right now, there even seems to be the impression that volumetric- and SS-scattering are fundamentally different approaches. So having something clearly labelled "subsurface scattering" could help.

On the LuxCore side, I would agree that the approximated Disney-version of SSS makes no sense in the LuxCore framework. It could be an efficient approximation for some cases, but it would need some bigger work because now the shader itself doesn't return a new intersection point.

Therefore, I am thinking more of the presentation in BlendLuxCore. Specifically, I could imagine to offer both a material and volume output in an updated Disney node, and under the hood include a homogeneous volume with a reduced set of parameters, for example:
- absorption and scattering color made equal (or complementary), and the scales tied together, perhaps remapped to the [0,1] range as well
- IOR can be computed from "specular".
- Multiscattering either True or False by default.
- Asymmetry and priority could be removed entirely.

I know that this would reduce functionality, but it would be in the spirit of the "principled" material.

1.5) Alternatively, or additionally, some presets for homogeneous volumes could be made, like there is for IOR. Again, then labelled "subsurface scattering".

2) For the metallic component, I'm looking at including the fresnelTexture as in the metal2 material. This would also allow to use the existing preset-node.

3) The Disney description also includes a "Thin sheet" mode. I don't think it is available in cycles, but I'm not sure. What do you think about that?


I've now started to write some code. It may take a little to complete, but since 2.5 is already in beta phase now I guess there is no rush to add new features...
User avatar
Sharlybg
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Disney BRDF material

Post by Sharlybg »

Nice deep research.Will be great indeed to make SSS more artistic friendly as in its current state not so much people touch it.
i never have to use asymetry parameter and yes remap scale value to a more usable human range is welcome from my pov :mrgreen: .
BTW adding the transmission component could be welcome for blendluxcore 2.5 .
Last edited by Sharlybg on Mon Nov 30, 2020 7:35 pm, edited 1 time in total.
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA
User avatar
B.Y.O.B.
Developer
Developer
Posts: 4146
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Disney BRDF material

Post by B.Y.O.B. »

We could try to mimic the SSS behaviour in the Cycles principled material: https://docs.blender.org/manual/en/dev/ ... ipled.html
Take special note of the Subsurface description ("Mix between diffuse and subsurface scattering. Rather than being a simple mix between Diffuse and Subsurface Scattering, it acts as a multiplier for the Subsurface Radius.").
CodeHD wrote: Mon Nov 30, 2020 4:48 pm Specifically, I could imagine to offer both a material and volume output in an updated Disney node, and under the hood include a homogeneous volume with a reduced set of parameters
This could be a possible approach.
However, without changes in LuxCore code, it would not allow the user to use image/2D textures to drive the SSS parameters.
CodeHD wrote: Mon Nov 30, 2020 4:48 pm 2) For the metallic component, I'm looking at including the fresnelTexture as in the metal2 material. This would also allow to use the existing preset-node.
I don't think this is a good idea. If someone needs the extra options of the metal material, he should use the metal material. No need to deviate from the disney specification.
CodeHD wrote: Mon Nov 30, 2020 4:48 pm 3) The Disney description also includes a "Thin sheet" mode. I don't think it is available in cycles, but I'm not sure. What do you think about that?
Could be useful. But I could also imagine this could be implemented as a generic thin-sheet material that accepts another material as input (like glossycoating or two-sided).
User avatar
MetinSeven
Posts: 137
Joined: Sun Aug 18, 2019 10:19 am
Location: Netherlands
Contact:

Re: Disney BRDF material

Post by MetinSeven »

I had never used the Disney material in Luxcore, and tried it today.

I don't see a noticeable difference between an SSS value of 0 and 1, is that correct? Is a volume node maybe still necessary for SSS?

It would be great if the SSS could be similar to the Cycles Principled shader's SSS.
visualizer • illustrator • animator • 3D designer — metinseven.nl
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: Disney BRDF material

Post by juangea »

It's a "gimmick" basically, I find it to be useless to be honest, that's why I hope 2015 version with true SSS gets implemented rather sooner than later :)
User avatar
MetinSeven
Posts: 137
Joined: Sun Aug 18, 2019 10:19 am
Location: Netherlands
Contact:

Re: Disney BRDF material

Post by MetinSeven »

That'd be great. SSS is one of the few things in Luxcore that are hard to get right.
visualizer • illustrator • animator • 3D designer — metinseven.nl
juangea
Donor
Donor
Posts: 332
Joined: Thu Jan 02, 2020 6:23 pm

Re: Disney BRDF material

Post by juangea »

Agree.

That, motion blur / vector pass (that DADE told me could be easy to implement now with CUDA ready to go) and hair shader are the three things that hold it to apply Lux to proper character development I think.
Also the lack of hair shader makes it harder to do some things related to ArchViz, the same goes with SSS.
CodeHD
Donor
Donor
Posts: 437
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: Disney BRDF material

Post by CodeHD »

Hi all,

since I have been quiet for a bit I just wanted to drop a line that I'm still on it. I got to start writing the implementation before christmas, but couldn't really continue for the last few weeks. I will try to advance a bit more over the next days. Otherwise I'm now caught up in moving because I'll start a new job next month, so progress might still be slow...
User avatar
MetinSeven
Posts: 137
Joined: Sun Aug 18, 2019 10:19 am
Location: Netherlands
Contact:

Re: Disney BRDF material

Post by MetinSeven »

Nice! Thanks for the update, and please keep us posted.
visualizer • illustrator • animator • 3D designer — metinseven.nl
BruceXu
Posts: 35
Joined: Wed Apr 15, 2020 7:16 am

Re: Disney BRDF material

Post by BruceXu »

juangea wrote: Wed Dec 09, 2020 9:30 am It's a "gimmick" basically, I find it to be useless to be honest, that's why I hope 2015 version with true SSS gets implemented rather sooner than later :)
Where can I find the 2015 version's paper?
I can implement it in Luxcore.
Post Reply