OpenRCT2/data/shaders/drawimage.frag

32 lines
602 B
GLSL
Raw Normal View History

2016-06-15 18:53:26 +02:00
#version 150
2016-06-09 00:13:49 +02:00
uniform ivec4 uClip;
uniform int uFlags;
uniform vec4 uColour;
2016-06-15 18:53:26 +02:00
uniform usampler2D uTexture;
uniform vec4 uPalette[256];
2016-06-09 00:13:49 +02:00
in vec2 fPosition;
in vec2 fTextureCoordinate;
2016-06-15 18:53:26 +02:00
out vec4 oColour;
2016-06-09 00:13:49 +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 texel = uPalette[texture(uTexture, fTextureCoordinate).r];
if ((uFlags & 1) != 0)
{
oColour = vec4(uColour.rgb, uColour.a * texel.a);
}
else
{
oColour = texel;
}
2016-06-09 00:13:49 +02:00
}