playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
23 lines (21 loc) • 651 B
JavaScript
var composeGradingPS = `
uniform vec3 brightnessContrastSaturation;
uniform vec3 tint;
vec3 colorGradingHDR(vec3 color, float brt, float sat, float con) {
color *= tint;
color = color * brt;
float grey = dot(color, vec3(0.3, 0.59, 0.11));
grey = grey / max(1.0, max(color.r, max(color.g, color.b)));
color = mix(vec3(grey), color, sat);
return mix(vec3(0.5), color, con);
}
vec3 applyGrading(vec3 color) {
return colorGradingHDR(color,
brightnessContrastSaturation.x,
brightnessContrastSaturation.z,
brightnessContrastSaturation.y);
}
`;
export { composeGradingPS as default };