1
0
Fork 0
fgdata/Shaders/transition.vert

31 lines
747 B
GLSL
Raw Normal View History

// -*-C++-*-
// -*-C++-*-
// Texture switching based on face slope and snow level
// based on earlier work by Frederic Bouvier, Tim Moore, and Yves Sablonier.
// © Emilian Huminiuc 2011
#version 120
varying float RawPosZ;
varying vec3 WorldPos;
varying vec4 eyePos;
varying vec3 normal;
varying vec3 Vnormal;
uniform mat4 osg_ViewMatrixInverse;
void setupShadows(vec4 eyeSpacePos);
void main()
{
RawPosZ = gl_Vertex.z;
eyePos = gl_ModelViewMatrix * gl_Vertex;
WorldPos = (osg_ViewMatrixInverse * eyePos).xyz;
gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
normal = normalize(gl_Normal);
Vnormal = normalize(gl_NormalMatrix * gl_Normal);
setupShadows(eyePos);
}