Why Does LuxCore Not Support the GGX Model?

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

Why Does LuxCore Not Support the GGX Model?

Post by BruceXu » Mon Sep 14, 2020 11:41 am

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
Posts: 4687
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

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

Post by Dade » 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.
Support LuxCoreRender project with salts and bounties

BruceXu
Posts: 17
Joined: Wed Apr 15, 2020 7:16 am

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

Post by BruceXu » Tue Sep 15, 2020 1:23 am

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