| 1234567891011121314151617181920212223242526 |
- #if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)
- vec3 specularEnvironmentReflectance = getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0, specularEnvironmentR90, environmentBrdf);
- #ifdef RADIANCEOCCLUSION
- specularEnvironmentReflectance *= seo;
- #endif
- #ifdef HORIZONOCCLUSION
- #ifdef BUMP
- #ifdef REFLECTIONMAP_3D
- specularEnvironmentReflectance *= eho;
- #endif
- #endif
- #endif
- #else
- // Jones implementation of a well balanced fast analytical solution.
- vec3 specularEnvironmentReflectance = getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV, clearcoatOut.specularEnvironmentR0, specularEnvironmentR90, sqrt(microSurface));
- #endif
- #ifdef CLEARCOAT
- specularEnvironmentReflectance *= clearcoatOut.conservationFactor;
- #if defined(CLEARCOAT_TINT)
- specularEnvironmentReflectance *= clearcoatOut.absorption;
- #endif
- #endif
|