Disney BRDF material

Discussion related to the Engine functionality, implementations and API.
User avatar
epilectrolytics
Donor
Donor
Posts: 519
Joined: Thu Oct 04, 2018 6:06 am

Re: Disney shader problem

Post by epilectrolytics » Tue Jun 11, 2019 9:00 pm

I changed the materials in the classroom scene to Disney shaders and started rendering the animation (with PGI).
First I was positively surprised to see a substantial speed-up from 190s to 150s render time for 400 samples per frame.
But when I took a peek at the animation after the first 200 frames there was a slight flickering on the wall that was not present in the previous render with glossy and matte materials.
It turns out that the advanced GGX reflectance model throws more noise around the scene.
The light distribution is also very different, two examples without OIDN:
disney.jpg
^ Disney
v glossy&matte (only floor, walls & desks; same cache)
glossy.jpg
I'm rerendering now with 500 samples/frame which is the same duration as with the old materials and will report tomorrow how that turns out.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
epilectrolytics
Donor
Donor
Posts: 519
Joined: Thu Oct 04, 2018 6:06 am

Re: Disney BRDF material

Post by epilectrolytics » Wed Jun 12, 2019 10:33 am

After comparing animations of 500 samples per frame with Disney materials vs 400 samples glossy/matte (same render time)
I have to say there is no free lunch :|
The Disney version shows slight flickering in the corners where the walls meet the ceiling.
Probably needs 600 to 700 samples to get clean, meaning a three days instead of two days render :(
It could be caused by GGX model being more noisy, PGI brute force corner blending, OIDN or any combination of those :?
I just spend two hours to set up a demonstration video showing the effect (0.5GB ProRes 422HQ), then converted it to HEVC for upload and found that the h.265 conversion is somehow smoothing out things and the flicker is nearly gone :o

Well, yeah.

Theoretically the GGX thingy should be more expensive to render and produce more noise from those fancy reflections at grazing angles, especially with diffuse surfaces that now have a "specular" component (disabling this for walls and ceiling shortens render time by 5s and slightly darkens parts of the room) and that's what I have seen in Cycles and now LuxCore as well.

In the end it's a matter of taste.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
B.Y.O.B.
Developer
Developer
Posts: 2868
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Disney BRDF material

Post by B.Y.O.B. » Sat Jun 15, 2019 1:29 pm

epilectrolytics, thank you for testing the new shader in-depth.

Could you open bug reports in https://github.com/LuxCoreRender/LuxCore/issues/new with the following:
- short description of the problem
- scene showing the problem (.blend or, even better, result from LuxCore scene export in text format)
- render output images showing the problem
- a description of the steps to make to replicate the problem

When problems are only reported in posts in a 10 page long thread, it is very hard to find them again.
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Donor
Donor
Posts: 1462
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Disney BRDF material

Post by Sharlybg » Sat Jun 15, 2019 2:08 pm

Theoretically the GGX thingy should be more expensive to render and produce more noise from those fancy reflections at grazing angles, especially with diffuse surfaces that now have a "specular" component (disabling this for walls and ceiling shortens render time by 5s and slightly darkens parts of the room) and that's what I have seen in Cycles and now LuxCore as well.
Do you have direct cache enable ? Or single map ?
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
epilectrolytics
Donor
Donor
Posts: 519
Joined: Thu Oct 04, 2018 6:06 am

Re: Disney BRDF material

Post by epilectrolytics » Sat Jun 15, 2019 3:15 pm

B.Y.O.B. wrote:
Sat Jun 15, 2019 1:29 pm
Could you open bug reports in https://github.com/LuxCoreRender/LuxCore/issues/new
Sorry for being unclear in my reporting but this was not a bug report, instead all is well with the new shader and it works as (at first) expected ;)

I was just confused about the faster render time per sample and had to learn through experimenting that at the same time it converges slower so in the end there is a certain noise penalty due to the more complex reflection model, just as in Cycles or other apps.

So by all means everyone go ahead and use it because it works :!:
Sharlybg wrote:
Sat Jun 15, 2019 2:08 pm
Do you have direct cache enable ? Or single map ?
Single map.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
B.Y.O.B.
Developer
Developer
Posts: 2868
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Disney BRDF material

Post by B.Y.O.B. » Sat Jun 15, 2019 3:33 pm

Thanks for clarifying :)
Support LuxCoreRender project with salts and bounties

Taka
Posts: 42
Joined: Wed Mar 20, 2019 7:24 pm

Re: Disney BRDF material

Post by Taka » Tue Jun 18, 2019 4:00 pm

Hi there,

I noticed something with Disney material. It seems with CPU rendering, specular gets a color tint. OpenCL gives expected results.
First image is CPU, second one is OpenCL.
Attachments
Disney_Cpu.png
Disney_OpenCL.png
Disney_Node.JPG

User avatar
Dade
Developer
Developer
Posts: 2908
Joined: Mon Dec 04, 2017 8:36 pm

Re: Disney BRDF material

Post by Dade » Wed Jun 19, 2019 2:34 pm

Taka wrote:
Tue Jun 18, 2019 4:00 pm
I noticed something with Disney material. It seems with CPU rendering, specular gets a color tint. OpenCL gives expected results.
I should have fixed this problem.
Support LuxCoreRender project with salts and bounties

User avatar
epilectrolytics
Donor
Donor
Posts: 519
Joined: Thu Oct 04, 2018 6:06 am

Re: Disney BRDF material

Post by epilectrolytics » Thu Jun 27, 2019 9:36 am

The Disney BRDF has a different roughness scale, how does this work with glossiness.userthreshold parameters in PGI and hybrid path?

Worst case would be when a user mixes f.i. metal + Disney materials and the respective roughness values don't mean the same.

Probably there is no easy solution, somehow it's always unintuitive or backwards compatibility becomes an issue (if Luxcore would adapt Disney roughness scale).
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
Dade
Developer
Developer
Posts: 2908
Joined: Mon Dec 04, 2017 8:36 pm

Re: Disney BRDF material

Post by Dade » Thu Jun 27, 2019 9:48 am

epilectrolytics wrote:
Thu Jun 27, 2019 9:36 am
The Disney BRDF has a different roughness scale, how does this work with glossiness.userthreshold parameters in PGI and hybrid path?
The values is used as it is and compared with the threshold.
epilectrolytics wrote:
Thu Jun 27, 2019 9:36 am
Worst case would be when a user mixes f.i. metal + Disney materials and the respective roughness values don't mean the same.
If you mean the use of "mix" material: Disney material already includes a metal component so it doesn't make any sense to mix with metal (or glossy2).
Support LuxCoreRender project with salts and bounties

Post Reply