diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-19 15:16:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-19 15:16:40 -0400 |
commit | fa4a04da223aadcc1feba7fe133b0f44ac01e95a (patch) | |
tree | c5b5a57ddf085993a16a5c9f29076b90f3baccf1 /render/gles3/shaders.c | |
parent | 325a331425c1771d16fa90d099fa33f3ab8772f3 (diff) | |
parent | 632a04f1b7dea35f46a2fa478bf53869854a1b5e (diff) |
Merge pull request #11 from SirCmpwn/libinput
[WIP] libinput backend
Diffstat (limited to 'render/gles3/shaders.c')
-rw-r--r-- | render/gles3/shaders.c | 75 |
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);" +"}"; |