Is there a way I can see how the clear coat node works in the back?

Discussion related to the LuxCore functionality, implementations and API.
Post Reply
TStrolia
Posts: 40
Joined: Mon Jun 22, 2020 10:29 am

Is there a way I can see how the clear coat node works in the back?

Post by TStrolia »

Of course there is. I downloaded the source but there’s a lot to dig through and I have found the UI files for the nodes but specifically I am trying to see the math of how luxcore is handling the absorption effect. Long story short I like it and want to see the math of how it’s handling it and use it to experiment a bit. Is there a specific file path(s) for the functions handling glossy and clear coat absorption? I’ve used luxrender long enough that I know what the effect looks like but I’ve been building complex node groups for some years now and I’d like to better understand how lux is doing it.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Is there a way I can see how the clear coat node works in the back?

Post by Dade »

Are you talking of the GlossyCoating material ? I don't remember how exactly it is exposed in Blender (it may be an option flag and not an explicit node). The C++ source is here: https://github.com/LuxCoreRender/LuxCor ... oating.cpp

Or clear coating of Disney material ? It is here: https://github.com/LuxCoreRender/LuxCor ... disney.cpp (at this line: https://github.com/LuxCoreRender/LuxCor ... y.cpp#L218)
Support LuxCoreRender project with salts and bounties
TStrolia
Posts: 40
Joined: Mon Jun 22, 2020 10:29 am

Re: Is there a way I can see how the clear coat node works in the back?

Post by TStrolia »

Dade wrote: Mon Jun 22, 2020 10:48 am Are you talking of the GlossyCoating material ? I don't remember how exactly it is exposed in Blender (it may be an option flag and not an explicit node). The C++ source is here: https://github.com/LuxCoreRender/LuxCor ... oating.cpp

Or clear coating of Disney material ? It is here: https://github.com/LuxCoreRender/LuxCor ... disney.cpp (at this line: https://github.com/LuxCoreRender/LuxCor ... y.cpp#L218)
Thank you. Definitely the prior and not the latter. My main issue is actually because of the disney shader. It drops conservation of energy so I am experimenting in lux, cycles, arnold, etc, and trying to figure out what is going on with everything to try and better understand how to build a coating that will honor light conservation. I looked at the code and following some of it gets a little tricky just because its in C and well, I am not proficient in C. TBH I am not proficient in much outside of a handful of web languages. I was able to understand a bit of it. Luxrender, solely from a visual standpoint handles glossy coating much better in my opinion. I don't know the accuracy of it from a scientific point of view until I understand the node better but visually it looks closer to what I would expect. Arnold does a good job too, and although I no longer have access to thea I am sure they do just fine. Cycles is atrocious with clear coats and so is render man in my opinion. I would like to get a better idea of whats going mathimatically in luxrender, or lux core (been a long time since I have used anything other than arnold or IRay. Last I was here it was called luxrender.) in hopes to have a better understanding of how to deal with different conservation issues in various different engines, lux included.
Post Reply