From 5c694f159b012d1d94bf15bfe580dec52e4fe797 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Sat, 14 Mar 2015 20:40:49 +0000 Subject: Gem osx/x86_64 built '' for osx/x86_64 --- .../12.multi_screen_projection/nfp_22.vert | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Gem/examples/12.multi_screen_projection/nfp_22.vert (limited to 'Gem/examples/12.multi_screen_projection/nfp_22.vert') diff --git a/Gem/examples/12.multi_screen_projection/nfp_22.vert b/Gem/examples/12.multi_screen_projection/nfp_22.vert new file mode 100644 index 0000000..ab8f107 --- /dev/null +++ b/Gem/examples/12.multi_screen_projection/nfp_22.vert @@ -0,0 +1,26 @@ +uniform vec2 Vtl,Vbl,Vtr,Vbr; // Vertex position +uniform vec2 Ttl,Tbl,Ttr,Tbr; // texture coordinate +uniform vec2 center; + +varying vec2 pos; + +void main() +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + + vec4 position = gl_Vertex; + position.xy += 1.; + position.xy /= 2.; + pos = position.xy; + position.xy = pow(position.xy,center); + + vec2 tex_top = mix(Ttl,Ttr,pos.x); + vec2 tex_bottom = mix(Tbl,Tbr,pos.x); + gl_TexCoord[0].st = mix(tex_top,tex_bottom, pos.y); + + vec2 pos_top = mix(Vtl,Vtr,position.x); + vec2 pos_bottom = mix(Vbl,Vbr,position.x); + position.xy = mix(pos_top,pos_bottom, position.y); + + gl_Position = gl_ModelViewProjectionMatrix * position; +} -- cgit v1.2.1