diff --git a/extra/terrain/shaders/shaders.factor b/extra/terrain/shaders/shaders.factor index bfb46b8ba1..e5b517ad59 100644 --- a/extra/terrain/shaders/shaders.factor +++ b/extra/terrain/shaders/shaders.factor @@ -8,11 +8,14 @@ varying vec3 direction; void main() { - vec4 v = vec4(gl_Vertex.xy, -1.0, 1.0); + vec4 v = vec4(gl_Vertex.xy, 1.0, 1.0); gl_Position = v; + + vec4 p = (gl_ProjectionMatrixInverse * v) * vec4(1,1,-1,1); + float s = sin(sky_theta), c = cos(sky_theta); direction = mat3(1, 0, 0, 0, c, s, 0, -s, c) - * (gl_ModelViewMatrixInverse * vec4(v.xyz, 0.0)).xyz; + * (gl_ModelViewMatrixInverse * vec4(p.xyz, 0.0)).xyz; } ;