X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=builtin_data%2F_sky_backdrop.glsl;fp=builtin_data%2F_sky_backdrop.glsl;h=0aac6c8080553da91a246b18f7dd6d010be11e5a;hb=06d83c11e10208478487dea864ddd7822630c391;hp=0000000000000000000000000000000000000000;hpb=e98956208676c77e74462f17932ac530077a0540;p=libs%2Fgl.git diff --git a/builtin_data/_sky_backdrop.glsl b/builtin_data/_sky_backdrop.glsl new file mode 100644 index 00000000..0aac6c80 --- /dev/null +++ b/builtin_data/_sky_backdrop.glsl @@ -0,0 +1,22 @@ +import msp_interface; +import _sky; + +uniform sampler2D distant; + +#pragma MSP stage(vertex) +void main() +{ + gl_Position = vec4(vertex.xy, 1.0, 1.0); + mat4 inv_projection = inverse(projection_matrix); + out vec4 view_dir = inv_projection*vec4(vertex.xy, -1.0, 1.0); + view_dir /= view_dir.w; + view_dir = inverse(eye_world_matrix)*vec4(view_dir.xyz, 0.0); +} + +#pragma MSP stage(fragment) +void main() +{ + vec3 nview = normalize(view_dir.xyz); + float azimuth = atan(nview.y, nview.x); + frag_color = texture(distant, vec2(azimuth/(2*pi), nview.z*0.5+0.5))*light_color; +}