#version 330

//s_texture points to an indexed color texture
uniform sampler2D s_texture;
//s_palette is the palette texture
uniform sampler2D s_palette;

in vec2 v_texCoord;
out vec4 FragColor;

const float c_paletteScale = 255.0/256.0;
const float c_paletteOffset = 0.5/256.0;

void main()
{
 vec4 color = texture(s_texture, v_texCoord.xy);
 color.r = c_paletteOffset + c_paletteScale*color.r;
 color.rgb = texture(s_palette, color.rg).rgb;
 
 FragColor = color;
}
