aboutsummaryrefslogtreecommitdiff
path: root/render/gles3/shaders.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-06-19 15:16:40 -0400
committerGitHub <noreply@github.com>2017-06-19 15:16:40 -0400
commitfa4a04da223aadcc1feba7fe133b0f44ac01e95a (patch)
treec5b5a57ddf085993a16a5c9f29076b90f3baccf1 /render/gles3/shaders.c
parent325a331425c1771d16fa90d099fa33f3ab8772f3 (diff)
parent632a04f1b7dea35f46a2fa478bf53869854a1b5e (diff)
Merge pull request #11 from SirCmpwn/libinput
[WIP] libinput 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);"
+"}";