oculus2_psprite

annotate sdr/psprite.v.glsl @ 21:dc7af0f549b2

VR point sprite shooting test
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 22 Jan 2015 06:19:52 +0200
parents
children
rev   line source
nuclear@21 1 uniform vec2 viewport;
nuclear@21 2
nuclear@21 3 void main()
nuclear@21 4 {
nuclear@21 5 const float psize = 1.0;
nuclear@21 6
nuclear@21 7 vec4 ppos = gl_ModelViewProjectionMatrix * gl_Vertex;
nuclear@21 8 gl_Position = ppos;
nuclear@21 9
nuclear@21 10 float vs_z = (gl_ModelViewMatrix * gl_Vertex).z;
nuclear@21 11 vec4 p0 = gl_ProjectionMatrix * vec4(0.0, 0.0, vs_z, 1.0);
nuclear@21 12 vec4 p1 = gl_ProjectionMatrix * vec4(psize, 0.0, vs_z, 1.0);
nuclear@21 13
nuclear@21 14 p0.xyz /= p0.w;
nuclear@21 15 p1.xyz /= p1.w;
nuclear@21 16
nuclear@21 17 p0.xy = (p0.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5)) * viewport;
nuclear@21 18 p1.xy = (p1.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5)) * viewport;
nuclear@21 19
nuclear@21 20 float sz = length(p1.xy - p0.xy);
nuclear@21 21 gl_PointSize = sz;
nuclear@21 22 }