Why Does LuxCore Not Support the GGX Model?

Discussion related to the LuxCore functionality, implementations and API.
Post Reply
BruceXu
Posts: 35
Joined: Wed Apr 15, 2020 7:16 am

Why Does LuxCore Not Support the GGX Model?

Post by BruceXu »

I transplanted Microfacet Reflection from pbrt to luxcore and the results did not meet my expectations.
I'm using Trowbridge Reitz Distribution.
Last edited by BruceXu on Mon Sep 14, 2020 12:44 pm, edited 1 time in total.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Why Does Luxcore Support Materials Based on the GGX Model?

Post by Dade »

BruceXu wrote: Mon Sep 14, 2020 11:41 am Why Does Luxcore Support Materials Based on the GGX Model?
Why shouldn't we ?

In case you wanted to ask why "doesn't": current Disney material uses a GGX distribution.
BruceXu wrote: Mon Sep 14, 2020 11:41 am I transplanted Microfacet Reflection from pbrt to luxcore
How ? Where ? What does mean "transplanted " ?
BruceXu wrote: Mon Sep 14, 2020 11:41 am and the results did not meet my expectations.
How doesn't it meet your expectation ? You need to better explain/show what kind problem you have.
Support LuxCoreRender project with salts and bounties
BruceXu
Posts: 35
Joined: Wed Apr 15, 2020 7:16 am

Re: Why Does Luxcore Support Materials Based on the GGX Model?

Post by BruceXu »

Dade wrote: Mon Sep 14, 2020 12:40 pm
BruceXu wrote: Mon Sep 14, 2020 11:41 am Why Does Luxcore Support Materials Based on the GGX Model?
Why shouldn't we ?

In case you wanted to ask why "doesn't": current Disney material uses a GGX distribution.
BruceXu wrote: Mon Sep 14, 2020 11:41 am I transplanted Microfacet Reflection from pbrt to luxcore
How ? Where ? What does mean "transplanted " ?
BruceXu wrote: Mon Sep 14, 2020 11:41 am and the results did not meet my expectations.
How doesn't it meet your expectation ? You need to better explain/show what kind problem you have.
Um, I’m very sorry, there is something wrong with my description
I refer to pbrt to implement class BRDF, class Microfacet Reflection, and then implement the plastic material in pbrt in luxcore
Regarding energy conservation, adding BXDF::f() in pbrt, I think it is not in line with energy conservation?

Sorry, I currently have no way to show my code

The specific implementation is as follows:
1. Use BXDF::f() and BXDF::pdf() in the Evaluate function to calculate bsdfEval and directPdfW
2. Use the BXDF::sample_wh() function in the Sample function to calculate localSampledDir
Post Reply