aboutsummaryrefslogtreecommitdiff
path: root/render/gles3/shaders.c
diff options
context:
space:
mode:
authornyorain <nyorain@gmail.com>2017-06-19 17:49:26 +0200
committernyorain <nyorain@gmail.com>2017-06-19 17:49:26 +0200
commit41a477375cf5fc2cfafc97fb6d98e4e3457dfa62 (patch)
tree93e318287fb70b21dd0f5d7f90551810fa85a7dd /render/gles3/shaders.c
parent904739c40596cb4e9e9d48c89b1d864051237441 (diff)
parent7e038a6110501a51e7f3d3366e8bc54a02766f22 (diff)
Merge branch 'libinput' into wayland-backend
Diffstat (limited to 'render/gles3/shaders.c')
-rw-r--r--render/gles3/shaders.c75
1 files changed, 55 insertions, 20 deletions
diff --git a/render/gles3/shaders.c b/render/gles3/shaders.c
index f53ef385..dd7f790f 100644
--- a/render/gles3/shaders.c
+++ b/render/gles3/shaders.c
@@ -1,28 +1,63 @@
#include "render/gles3.h"
#include <GLES3/gl3.h>
+// Colored quads
+const GLchar quad_vertex_src[] =
+"uniform mat4 proj;"
+"uniform vec4 color;"
+"attribute vec2 pos;"
+"attribute vec2 texcoord;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_Position = proj * vec4(pos, 0.0, 1.0);"
+" v_color = color;"
+" v_texcoord = texcoord;"
+"}";
+
+const GLchar quad_fragment_src[] =
+"precision mediump float;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_FragColor = v_color;"
+"}";
+
+// Colored ellipses (TODO)
+
+const GLchar ellipse_fragment_src[] =
+"precision mediump float;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" float l = length(v_texcoord - vec2(0.5, 0.5));"
+" if (l > 0.5) discard;"
+" gl_FragColor = v_color;"
+"}";
+
+// Textured quads
const GLchar vertex_src[] =
-"uniform mat4 proj;\n"
-"attribute vec2 pos;\n"
-"attribute vec2 texcoord;\n"
-"varying vec2 v_texcoord;\n"
-"void main() {\n"
-" gl_Position = proj * vec4(pos, 0.0, 1.0);\n"
-" v_texcoord = texcoord;\n"
-"}\n";
+"uniform mat4 proj;"
+"attribute vec2 pos;"
+"attribute vec2 texcoord;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_Position = proj * vec4(pos, 0.0, 1.0);"
+" v_texcoord = texcoord;"
+"}";
const GLchar fragment_src_RGB[] =
-"precision mediump float;\n"
-"varying vec2 v_texcoord;\n"
-"uniform sampler2D tex;\n"
-"void main() {\n"
-" gl_FragColor = vec4(texture2D(tex, v_texcoord).rgb, 1.0);\n"
-"}\n";
+"precision mediump float;"
+"varying vec2 v_texcoord;"
+"uniform sampler2D tex;"
+"void main() {"
+" gl_FragColor = vec4(texture2D(tex, v_texcoord).rgb, 1.0);"
+"}";
const GLchar fragment_src_RGBA[] =
-"precision mediump float;\n"
-"varying vec2 v_texcoord;\n"
-"uniform sampler2D tex;\n"
-"void main() {\n"
-" gl_FragColor = texture2D(tex, v_texcoord);\n"
-"}\n";
+"precision mediump float;"
+"varying vec2 v_texcoord;"
+"uniform sampler2D tex;"
+"void main() {"
+" gl_FragColor = texture2D(tex, v_texcoord);"
+"}";