summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2015-02-26 01:40:18 +0100
committer couriersud <couriersud@arcor.de>2015-02-26 01:40:18 +0100
commiteb8144a3bb8f5d443b5062b13e3e18b6b8e8c43c (patch)
tree0dbb6487e5cc7db623f2d9acd9d2db3efa792aca /src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c
parent2c2994aeb52b700c206ca6c94513a92601097bdb (diff)
Moved opengl related stuff to modules/opengl
Diffstat (limited to 'src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c')
-rw-r--r--src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c b/src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c
new file mode 100644
index 00000000000..1e206d671cd
--- /dev/null
+++ b/src/osd/modules/opengl/shader/glsl_plain_rgb32_dir.fsh.c
@@ -0,0 +1,26 @@
+const char glsl_plain_rgb32_dir_fsh_src[] =
+"\n"
+"#pragma optimize (on)\n"
+"#pragma debug (off)\n"
+"\n"
+"uniform sampler2D color_texture;\n"
+"uniform vec4 vid_attributes; // gamma, contrast, brightness\n"
+"\n"
+"// #define DO_GAMMA 1 // 'pow' is very slow on old hardware, i.e. pre R600 and 'slow' in general\n"
+"\n"
+"void main()\n"
+"{\n"
+"#ifdef DO_GAMMA\n"
+" vec4 gamma = vec4( 1.0 / vid_attributes.r, 1.0 / vid_attributes.r, 1.0 / vid_attributes.r, 0.0);\n"
+"\n"
+" // gamma, contrast, brightness equation from: rendutil.h / apply_brightness_contrast_gamma_fp\n"
+" vec4 color = pow( texture2D(color_texture, gl_TexCoord[0].st) , gamma);\n"
+"#else\n"
+" vec4 color = texture2D(color_texture, gl_TexCoord[0].st);\n"
+"#endif\n"
+"\n"
+" // contrast/brightness\n"
+" gl_FragColor = (color * vid_attributes.g) + vid_attributes.b - 1.0;\n"
+"}\n"
+"\n"
+;