playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
29 lines (28 loc) • 964 B
JavaScript
var combine_default = `
fn combineColor(albedo: vec3f, sheenSpecularity: vec3f, clearcoatSpecularity: f32) -> vec3f {
var ret: vec3f = vec3f(0.0);
ret = ret + ((dDiffuseLight - uniform.light_globalAmbient) * albedo + uniform.material_ambient * uniform.light_globalAmbient);
ret = ret + (albedo * dDiffuseLight);
ret = ret + dSpecularLight;
ret = ret + (dReflection.rgb * dReflection.a);
let sheenScaling: f32 = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;
ret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;
let clearCoatScaling: f32 = 1.0 - ccFresnel * clearcoatSpecularity;
ret = ret * clearCoatScaling + (ccSpecularLight + ccReflection) * clearcoatSpecularity;
return ret;
}
`;
export {
combine_default as default
};