three
Version:
JavaScript 3D library
27 lines (17 loc) • 700 B
JavaScript
export default /* glsl */`
// reads channel R, compatible with a combined OcclusionRoughnessMetallic (RGB) texture
float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;
reflectedLight.indirectDiffuse *= ambientOcclusion;
clearcoatSpecularIndirect *= ambientOcclusion;
sheenSpecularIndirect *= ambientOcclusion;
float dotNV = saturate( dot( geometryNormal, geometryViewDir ) );
reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );
`;