pex-renderer
Version:
Physically Based Renderer for Pex
37 lines (31 loc) • 1.2 kB
JavaScript
module.exports = /* glsl */ `
uniform vec4 uEmissiveColor; // TODO: gltf assumes sRGB color, not linear
uniform float uEmissiveIntensity;
uniform sampler2D uEmissiveColorMap; //assumes sRGB color, not linear
uniform mat3 uEmissiveColorMapTexCoordTransform;
void getEmissiveColor(inout PBRData data) {
vec2 texCoord = getTextureCoordinates(data, EMISSIVE_COLOR_MAP_TEX_COORD_INDEX, uEmissiveColorMapTexCoordTransform);
vec2 texCoord = getTextureCoordinates(data, EMISSIVE_COLOR_MAP_TEX_COORD_INDEX);
data.emissiveColor = decode(texture2D(uEmissiveColorMap, texCoord), SRGB).rgb;
data.emissiveColor *= uEmissiveIntensity * decode(uEmissiveColor, SRGB).rgb;
}
void getEmissiveColor(inout PBRData data) {
data.emissiveColor = uEmissiveIntensity * decode(uEmissiveColor, SRGB).rgb;
}
void getEmissiveColor(inout PBRData data) {
data.emissiveColor = vec3(0.0);
}
`