1
0
Fork 0

more ATI fixes for crops and landmass shaders

Same problem with material state, except this time with the diffuse component.


Author: Tim Moore <timoore@redhat.com>
This commit is contained in:
timoore 2010-02-12 14:43:26 +00:00
parent 421ee253e6
commit dfb8181f34
4 changed files with 12 additions and 10 deletions

View file

@ -4,6 +4,7 @@ varying vec4 rawpos;
varying vec4 ecPosition;
varying vec3 VNormal;
varying vec3 Normal;
varying vec4 constantColor;
uniform sampler3D NoiseTex;
uniform sampler2D SampleTex;
@ -58,10 +59,8 @@ void main (void)
//"snow"
c1 = mix(c1, clamp(n+nvL[2]*4.1+vec4(0.1, 0.1, nvL[2]*2.2, 1.0), 0.7, 1.0), smoothstep(snowlevel+300.0, snowlevel+360.0, (rawpos.z)+nvL[1]*3000.0));
vec3 diffuse = gl_FrontMaterial.diffuse.rgb * max(0.0, dot(VNormal, gl_LightSource[0].position.xyz));
vec4 ambientColor = gl_Color;
// ambientColor = vec4(0.01);
vec4 ambient_light = ambientColor + gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
vec3 diffuse = gl_Color.rgb * max(0.0, dot(VNormal, gl_LightSource[0].position.xyz));
vec4 ambient_light = constantColor + gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
c1 *= ambient_light;
vec4 finalColor = c1;

View file

@ -4,6 +4,7 @@ varying vec4 rawpos;
varying vec4 ecPosition;
varying vec3 VNormal;
varying vec3 Normal;
varying vec4 constantColor;
centroid varying vec4 ipos;
void main(void)
@ -15,7 +16,8 @@ void main(void)
ecPosition = gl_ModelViewMatrix * gl_Vertex;
VNormal = normalize(gl_NormalMatrix * gl_Normal);
Normal = normalize(gl_Normal);
gl_FrontColor = gl_FrontMaterial.emission
gl_FrontColor = gl_Color;
constantColor = gl_FrontMaterial.emission
+ gl_Color * (gl_LightModel.ambient + gl_LightSource[0].ambient);
gl_Position = ftransform();
}

View file

@ -4,6 +4,7 @@ varying vec4 rawpos;
varying vec4 ecPosition;
varying vec3 VNormal;
varying vec3 Normal;
varying vec4 constantColor;
uniform sampler3D NoiseTex;
uniform sampler2D BaseTex;
@ -43,10 +44,8 @@ void main (void)
//"snow"
c1 = mix(c1, clamp(n+nvL[2]*4.1+vec4(0.1, 0.1, nvL[2]*2.2, 1.0), 0.7, 1.0), smoothstep(snowlevel+300.0, snowlevel+360.0, (rawpos.z)+nvL[1]*3000.0));
vec3 diffuse = gl_FrontMaterial.diffuse.rgb * max(0.0, dot(normalize(VNormal), gl_LightSource[0].position.xyz));
vec4 ambientColor = gl_Color;
// ambientColor = vec4(0.01);
vec4 ambient_light = ambientColor + gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
vec3 diffuse = gl_Color.rgb * max(0.0, dot(normalize(VNormal), gl_LightSource[0].position.xyz));
vec4 ambient_light = constantColor + gl_LightSource[0].diffuse * vec4(diffuse, 1.0);
c1 *= ambient_light;
vec4 finalColor = c1;

View file

@ -2,6 +2,7 @@ varying vec4 rawpos;
varying vec4 ecPosition;
varying vec3 VNormal;
varying vec3 Normal;
varying vec4 constantColor;
void main(void)
{
@ -10,7 +11,8 @@ void main(void)
VNormal = normalize(gl_NormalMatrix * gl_Normal);
Normal = normalize(gl_Normal);
gl_FrontColor = gl_FrontMaterial.emission
gl_FrontColor = gl_Color;
constantColor = gl_FrontMaterial.emission
+ gl_Color * (gl_LightModel.ambient + gl_LightSource[0].ambient);
gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;