From 28841961ba91b943b7478704181604fa3e24e81e Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Tue, 31 Oct 2017 21:27:10 +0300 Subject: Rewrite rendering engine (#6253) * Clean draw_*() arguments * Split rendering core * Add anaglyph 3D * Interlaced 3D * Drop obsolete methods --- .../3d_interlaced_merge/opengl_fragment.glsl | 21 +++++++++++++++++++++ .../shaders/3d_interlaced_merge/opengl_vertex.glsl | 6 ++++++ 2 files changed, 27 insertions(+) create mode 100644 client/shaders/3d_interlaced_merge/opengl_fragment.glsl create mode 100644 client/shaders/3d_interlaced_merge/opengl_vertex.glsl (limited to 'client') diff --git a/client/shaders/3d_interlaced_merge/opengl_fragment.glsl b/client/shaders/3d_interlaced_merge/opengl_fragment.glsl new file mode 100644 index 000000000..25945ad7f --- /dev/null +++ b/client/shaders/3d_interlaced_merge/opengl_fragment.glsl @@ -0,0 +1,21 @@ +uniform sampler2D baseTexture; +uniform sampler2D normalTexture; +uniform sampler2D textureFlags; + +#define leftImage baseTexture +#define rightImage normalTexture +#define maskImage textureFlags + +void main(void) +{ + vec2 uv = gl_TexCoord[0].st; + vec4 left = texture2D(leftImage, uv).rgba; + vec4 right = texture2D(rightImage, uv).rgba; + vec4 mask = texture2D(maskImage, uv).rgba; + vec4 color; + if (mask.r > 0.5) + color = right; + else + color = left; + gl_FragColor = color; +} diff --git a/client/shaders/3d_interlaced_merge/opengl_vertex.glsl b/client/shaders/3d_interlaced_merge/opengl_vertex.glsl new file mode 100644 index 000000000..4e0b2b125 --- /dev/null +++ b/client/shaders/3d_interlaced_merge/opengl_vertex.glsl @@ -0,0 +1,6 @@ +void main(void) +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_Position = gl_Vertex; + gl_FrontColor = gl_BackColor = gl_Color; +} -- cgit v1.2.3