I’m building an external (non-3ds-Max) tool that needs to approximate the final paint color of a CoronaPhysicalMtl as a single flat sRGB value, given only: Base/Diffuse color, Clearcoat Amount (0–1), Clearcoat IOR, and Clearcoat Absorption Color (no textures, non-metal). I don’t need full angle-dependent accuracy — a near-normal-incidence approximation is enough.
Could someone from the dev team clarify the internal model:
- Is Clearcoat Absorption modeled as true Beer-Lambert absorption along the refracted ray’s path through the coat (i.e. path-length/thickness dependent), or as a single-bounce multiplicative tint applied once per shading sample?
- How does Amount (0–1) enter the math — is it a linear blend/lerp between “0% coat contribution” and “100% coat contribution” in the final color, or does it scale the coat’s optical thickness (which would make the absorption’s effect on color non-linear/exponential rather than linear)?
- Does Clearcoat IOR affect only the Fresnel reflectance (specular strength/highlight), or does it also change the refraction angle used inside the absorption calculation?
- For near-normal viewing (ignoring grazing-angle Fresnel increase), is there a simplified closed-form expression for surface color as f(BaseColor, Amount, IOR, AbsorptionColor)?
- Is this documented anywhere I might have missed (changelog, dev blog, SDK reference)?