Add: [OpenGL] Support for 8bpp blitters.

This commit is contained in:
Michael Lutz
2021-01-16 16:43:25 +01:00
parent 320072c8dc
commit e8fc050b6e
7 changed files with 159 additions and 18 deletions

View File

@@ -51,3 +51,28 @@ static const char *_frag_shader_direct_150[] = {
" colour = texture(colour_tex, colour_tex_uv);",
"}",
};
/** Fragment shader that performs a palette lookup to read the colour from an 8bpp texture. */
static const char *_frag_shader_palette[] = {
"#version 110\n",
"uniform sampler2D colour_tex;",
"uniform sampler1D palette;",
"varying vec2 colour_tex_uv;",
"void main() {",
" float idx = texture2D(colour_tex, colour_tex_uv).r;",
" gl_FragData[0] = texture1D(palette, idx);",
"}",
};
/** GLSL 1.50 fragment shader that performs a palette lookup to read the colour from an 8bpp texture. */
static const char *_frag_shader_palette_150[] = {
"#version 150\n",
"uniform sampler2D colour_tex;",
"uniform sampler1D palette;",
"in vec2 colour_tex_uv;",
"out vec4 colour;",
"void main() {",
" float idx = texture(colour_tex, colour_tex_uv).r;",
" colour = texture(palette, idx);",
"}",
};