2016-06-15 18:53:26 +02:00
|
|
|
#version 150
|
2016-06-10 21:17:00 +02:00
|
|
|
|
|
|
|
uniform ivec4 uClip;
|
2016-06-15 18:53:26 +02:00
|
|
|
uniform usampler2D uTextureMask;
|
|
|
|
uniform usampler2D uTextureColour;
|
|
|
|
uniform vec4 uPalette[256];
|
2016-06-10 21:17:00 +02:00
|
|
|
|
|
|
|
in vec2 fPosition;
|
|
|
|
in vec2 fTextureCoordinate;
|
|
|
|
|
2016-06-15 18:53:26 +02:00
|
|
|
out vec4 oColour;
|
2016-06-10 21:17:00 +02:00
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
if (fPosition.x < uClip.x || fPosition.x > uClip.z ||
|
|
|
|
fPosition.y < uClip.y || fPosition.y > uClip.w)
|
|
|
|
{
|
|
|
|
discard;
|
|
|
|
}
|
|
|
|
|
2016-06-15 18:53:26 +02:00
|
|
|
vec4 mask = uPalette[texture(uTextureMask, fTextureCoordinate).r];
|
|
|
|
vec4 colour = uPalette[texture(uTextureColour, fTextureCoordinate).r];
|
2016-06-10 21:17:00 +02:00
|
|
|
oColour = colour * mask;
|
|
|
|
}
|