diff --git a/Shaders/model-default.frag b/Shaders/model-default.frag index 2cf37e2a1..f430f542b 100644 --- a/Shaders/model-default.frag +++ b/Shaders/model-default.frag @@ -1,6 +1,6 @@ // -*-C++-*- -varying vec4 diffuse, constantColor; +varying vec4 diffuse; varying vec3 normal, lightDir, halfVector; varying float fogCoord, alpha; @@ -17,7 +17,8 @@ void main() { vec3 n, halfV; float NdotL, NdotHV, fogFactor; - vec4 color = constantColor; + vec4 color = gl_FrontLightModelProduct.sceneColor + + gl_FrontMaterial.ambient * gl_LightSource[0].ambient; vec4 texel; vec4 fragColor; vec4 specular = vec4(0.0); diff --git a/Shaders/model-default.vert b/Shaders/model-default.vert index 924f90c38..cef6e6e24 100644 --- a/Shaders/model-default.vert +++ b/Shaders/model-default.vert @@ -8,7 +8,7 @@ // Diffuse colors come from the gl_Color, ambient from the material. This is // equivalent to osg::Material::DIFFUSE. -varying vec4 diffuse, constantColor; +varying vec4 diffuse; varying vec3 normal, lightDir, halfVector; varying float alpha, fogCoord; @@ -17,7 +17,6 @@ uniform bool twoSideHack; void main() { vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex; - vec3 ecPosition3 = vec3(gl_ModelViewMatrix * gl_Vertex) / ecPosition.w; gl_Position = ftransform(); gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; normal = gl_NormalMatrix * gl_Normal; @@ -36,7 +35,5 @@ void main() gl_FrontColor = vec4(0.0, 0.0, 0.0, 1.0); gl_BackColor = vec4(0.0, 0.0, 0.0, 0.0); } - constantColor = gl_FrontLightModelProduct.sceneColor - + gl_FrontMaterial.ambient * gl_LightSource[0].ambient; - fogCoord = abs(ecPosition3.z); + fogCoord = abs(ecPosition.z / ecPosition.w); }