pex-renderer
Version:
Physically Based Renderer for Pex
49 lines (42 loc) • 1.66 kB
JavaScript
module.exports = /* glsl */ `
uniform vec4 uBaseColor; // TODO: gltf assumes sRGB color, not linear
uniform sampler2D uBaseColorMap; // assumes sRGB color, not linear
uniform mat3 uBaseColorMapTexCoordTransform;
void getBaseColor(inout PBRData data) {
vec2 texCoord = getTextureCoordinates(data, BASE_COLOR_MAP_TEX_COORD_INDEX, uBaseColorMapTexCoordTransform);
vec2 texCoord = getTextureCoordinates(data, BASE_COLOR_MAP_TEX_COORD_INDEX);
vec4 texelColor = texture2D(uBaseColorMap, texCoord);
data.baseColor = decode(uBaseColor, 3).rgb * decode(texelColor, 3).rgb;
data.baseColor *= decode(vColor, 3).rgb;
data.opacity = uBaseColor.a * texelColor.a * vColor.a;
data.opacity = uBaseColor.a * texelColor.a;
}
void getBaseColor(inout PBRData data) {
data.baseColor = decode(uBaseColor, 3).rgb;
data.baseColor *= decode(vColor, 3).rgb;
data.opacity = uBaseColor.a * vColor.a;
data.opacity = uBaseColor.a;
}
`