slightly improved raytracer
[demo_prior] / sdr / whitted.v.glsl
index ad2878e..1c55752 100644 (file)
@@ -1,13 +1,17 @@
 #define FOV    0.873   /* about 50 deg */
 
+uniform float aspect;
+
 varying vec3 v_rorg, v_rdir;
 
 void main()
 {
        gl_Position = gl_Vertex;
 
-       float dist = 1.0 / tan(FOV / 2.0);
-       vec3 dir = vec3(gl_MultiTexCoord0.xy * 2.0 - 1.0, dist);
+       vec2 s = vec2(aspect, 1.0);
+
+       float dist = -1.0 / tan(FOV / 2.0);
+       vec3 dir = vec3((gl_MultiTexCoord0.xy * 2.0 - 1.0) * s, dist);
        v_rdir = gl_NormalMatrix * dir;
        v_rorg = (gl_ModelViewMatrix * vec4(0.0, 0.0, 0.0, 1.0)).xyz;
 }