mirror of
https://github.com/aap/librw.git
synced 2025-12-20 01:19:51 +00:00
added some very basic im2d stuff to gl3
This commit is contained in:
@@ -1,4 +1,12 @@
|
||||
all: simple_gl3.inc matfx_gl3.inc skin_gl3.inc
|
||||
all: im2d_gl3.inc simple_gl3.inc matfx_gl3.inc skin_gl3.inc
|
||||
|
||||
im2d_gl3.inc: im2d.frag im2d.vert
|
||||
(echo 'const char *im2d_vert_src =';\
|
||||
sed 's/..*/"&\\n"/' im2d.vert;\
|
||||
echo ';';\
|
||||
echo 'const char *im2d_frag_src =';\
|
||||
sed 's/..*/"&\\n"/' im2d.frag;\
|
||||
echo ';') >im2d_gl3.inc
|
||||
|
||||
simple_gl3.inc: simple.frag simple.vert
|
||||
(echo 'const char *simple_vert_src =';\
|
||||
|
||||
15
src/gl/shaders/im2d.frag
Normal file
15
src/gl/shaders/im2d.frag
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 330
|
||||
|
||||
uniform sampler2D tex;
|
||||
|
||||
in vec4 v_color;
|
||||
in vec2 v_tex0;
|
||||
|
||||
out vec4 color;
|
||||
|
||||
void
|
||||
main(void)
|
||||
{
|
||||
color = v_color*texture2D(tex, vec2(v_tex0.x, v_tex0.y));
|
||||
}
|
||||
|
||||
23
src/gl/shaders/im2d.vert
Normal file
23
src/gl/shaders/im2d.vert
Normal file
@@ -0,0 +1,23 @@
|
||||
#version 330
|
||||
|
||||
layout(std140) uniform Im2DState
|
||||
{
|
||||
int u_alphaTest;
|
||||
float u_alphaRef;
|
||||
mat4 u_xform;
|
||||
};
|
||||
|
||||
layout(location = 0) in vec3 in_pos;
|
||||
layout(location = 2) in vec4 in_color;
|
||||
layout(location = 3) in vec2 in_tex0;
|
||||
|
||||
out vec4 v_color;
|
||||
out vec2 v_tex0;
|
||||
|
||||
void
|
||||
main(void)
|
||||
{
|
||||
gl_Position = vec4(in_pos, 1.0);
|
||||
v_color = in_color;
|
||||
v_tex0 = in_tex0;
|
||||
}
|
||||
42
src/gl/shaders/im2d_gl3.inc
Normal file
42
src/gl/shaders/im2d_gl3.inc
Normal file
@@ -0,0 +1,42 @@
|
||||
const char *im2d_vert_src =
|
||||
"#version 330\n"
|
||||
|
||||
"layout(std140) uniform Im2DState\n"
|
||||
"{\n"
|
||||
" int u_alphaTest;\n"
|
||||
" float u_alphaRef;\n"
|
||||
" mat4 u_xform;\n"
|
||||
"};\n"
|
||||
|
||||
"layout(location = 0) in vec3 in_pos;\n"
|
||||
"layout(location = 2) in vec4 in_color;\n"
|
||||
"layout(location = 3) in vec2 in_tex0;\n"
|
||||
|
||||
"out vec4 v_color;\n"
|
||||
"out vec2 v_tex0;\n"
|
||||
|
||||
"void\n"
|
||||
"main(void)\n"
|
||||
"{\n"
|
||||
" gl_Position = vec4(in_pos, 1.0);\n"
|
||||
" v_color = in_color;\n"
|
||||
" v_tex0 = in_tex0;\n"
|
||||
"}\n"
|
||||
;
|
||||
const char *im2d_frag_src =
|
||||
"#version 330\n"
|
||||
|
||||
"uniform sampler2D tex;\n"
|
||||
|
||||
"in vec4 v_color;\n"
|
||||
"in vec2 v_tex0;\n"
|
||||
|
||||
"out vec4 color;\n"
|
||||
|
||||
"void\n"
|
||||
"main(void)\n"
|
||||
"{\n"
|
||||
" color = v_color*texture2D(tex, vec2(v_tex0.x, v_tex0.y));\n"
|
||||
"}\n"
|
||||
|
||||
;
|
||||
Reference in New Issue
Block a user