12345678910111213141516171819202122232425262728 |
- uniform vec4 DiffuseColor;
- uniform vec4 AmbientColor;
- uniform float LightIntensity;
- uniform sampler2D MainTexture;
- varying vec3 Normal;
- varying vec3 LightVector;
- varying vec3 CameraVector;
- varying vec2 Texcoord;
- void main(void)
- {
- vec4 TextureContrib = texture2D(MainTexture, Texcoord);
- vec4 DiffuseContrib = clamp(DiffuseColor * dot(LightVector, Normal), 0.0, 1.0);
- float SpecPower = 8.0;
- float SpecMult = 2.0;
- vec3 reflect_vec = reflect(CameraVector, -Normal);
- float Temp = max(dot(reflect_vec, LightVector), 0.0);
- float SpecContrib = pow(Temp, SpecPower);
- SpecContrib = SpecMult * clamp(SpecContrib, 0.0, 0.95);
- gl_FragColor = TextureContrib * LightIntensity * (AmbientColor + DiffuseContrib + SpecContrib);
- }
|