playcanvas
Version:
PlayCanvas WebGL game engine
27 lines (25 loc) • 659 B
JavaScript
var fresnelSchlickPS = `
vec3 getFresnel(
float cosTheta,
float gloss,
vec3 specularity
, vec3 iridescenceFresnel,
float iridescenceIntensity
) {
float fresnel = pow(1.0 - saturate(cosTheta), 5.0);
float glossSq = gloss * gloss;
vec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;
return mix(ret, iridescenceFresnel, iridescenceIntensity);
return ret;
}
float getFresnelCC(float cosTheta) {
float fresnel = pow(1.0 - saturate(cosTheta), 5.0);
return 0.04 + (1.0 - 0.04) * fresnel;
}
`;
export { fresnelSchlickPS as default };