Add support for rendering tinted artwork.

This commit is contained in:
Paul Chote
2020-07-09 17:40:14 +01:00
committed by abcdefg30
parent baf58f53b3
commit ac7eda8ca2
29 changed files with 167 additions and 49 deletions

View File

@@ -26,6 +26,7 @@ varying vec2 vTexSampler;
varying vec4 vColorFraction;
varying vec4 vRGBAFraction;
varying vec4 vPalettedFraction;
varying vec4 vTint;
uniform vec2 Texture0Size;
uniform vec2 Texture1Size;
@@ -46,6 +47,7 @@ in vec2 vTexSampler;
in vec4 vColorFraction;
in vec4 vRGBAFraction;
in vec4 vPalettedFraction;
in vec4 vTint;
out vec4 fragColor;
#endif
@@ -227,8 +229,8 @@ void main()
}
else
#if __VERSION__ == 120
gl_FragColor = c;
gl_FragColor = c * vTint;
#else
fragColor = c;
fragColor = c * vTint;
#endif
}

View File

@@ -7,6 +7,7 @@ uniform vec3 r1, r2;
attribute vec4 aVertexPosition;
attribute vec4 aVertexTexCoord;
attribute vec2 aVertexTexMetadata;
attribute vec3 aVertexTint;
varying vec4 vTexCoord;
varying vec2 vTexMetadata;
@@ -17,10 +18,12 @@ varying vec2 vTexSampler;
varying vec4 vColorFraction;
varying vec4 vRGBAFraction;
varying vec4 vPalettedFraction;
varying vec4 vTint;
#else
in vec4 aVertexPosition;
in vec4 aVertexTexCoord;
in vec2 aVertexTexMetadata;
in vec3 aVertexTint;
out vec4 vTexCoord;
out vec2 vTexMetadata;
@@ -31,6 +34,7 @@ out vec2 vTexSampler;
out vec4 vColorFraction;
out vec4 vRGBAFraction;
out vec4 vPalettedFraction;
out vec4 vTint;
#endif
vec4 UnpackChannelAttributes(float x)
@@ -123,4 +127,5 @@ void main()
vPalettedFraction = SelectPalettedFraction(attrib.s);
vDepthMask = SelectChannelMask(attrib.t);
vTexSampler = attrib.pq;
vTint = vec4(aVertexTint, 1.0);
}

View File

@@ -7,6 +7,7 @@ uniform mat4 TransformMatrix;
attribute vec4 aVertexPosition;
attribute vec4 aVertexTexCoord;
attribute vec2 aVertexTexMetadata;
attribute vec3 aVertexTint;
varying vec4 vTexCoord;
varying vec4 vChannelMask;
varying vec4 vNormalsMask;
@@ -14,6 +15,7 @@ varying vec4 vNormalsMask;
in vec4 aVertexPosition;
in vec4 aVertexTexCoord;
in vec2 aVertexTexMetadata;
in vec3 aVertexTint;
out vec4 vTexCoord;
out vec4 vChannelMask;
out vec4 vNormalsMask;