AcademySoftwareFoundation / OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
Apache License 2.0
422 stars 18 forks source link

Coat and Fuzz parameter order inconsistent between specification and reference implementation #223

Open JGamache-autodesk opened 1 month ago

JGamache-autodesk commented 1 month ago

Clearly a very minor detail, but the reference implementation has Fuzz before Coat while the specification has Coat before Fuzz in the parameter reference.

JGamache-autodesk commented 1 month ago

The Emission and Thin Film sections are also swapped between spec and reference implementation.

portsmouth commented 1 month ago

I think coat before fuzz makes more sense for OpenPBR, since we generally order the parameters from the base upwards.

Having emission before thin-film (and thin-film after fuzz) doesn't seem particularly logical though. Arguably the emission should be just before the coat (since the coat tints the emission):

We put emission below the coating so that emitted light will be tinted due to the absorption in the coat and fuzz layers.

And the thin-film should be just before the emission, since it lies above the base, but does not tint the emission.