@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
35 lines (33 loc) • 663 B
JavaScript
var decodePS = `
vec3 decodeLinear(vec4 raw) {
return raw.rgb;
}
float decodeGamma(float raw) {
return pow(raw, 2.2);
}
vec3 decodeGamma(vec3 raw) {
return pow(raw, vec3(2.2));
}
vec3 decodeGamma(vec4 raw) {
return pow(raw.xyz, vec3(2.2));
}
vec3 decodeRGBM(vec4 raw) {
vec3 color = (8.0 * raw.a) * raw.rgb;
return color * color;
}
vec3 decodeRGBP(vec4 raw) {
vec3 color = raw.rgb * (-raw.a * 7.0 + 8.0);
return color * color;
}
vec3 decodeRGBE(vec4 raw) {
if (raw.a == 0.0) {
return vec3(0.0, 0.0, 0.0);
} else {
return raw.xyz * pow(2.0, raw.w * 255.0 - 128.0);
}
}
vec4 passThrough(vec4 raw) {
return raw;
}
`;
export { decodePS as default };