aboutsummaryrefslogtreecommitdiff
path: root/render/gles3/shaders.c
diff options
context:
space:
mode:
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);"
+"}";