46 lines
1021 B
Plaintext
46 lines
1021 B
Plaintext
uniform sampler2D Texture;
|
|
uniform float FogBeginDistance;
|
|
uniform float FogEndDistance;
|
|
|
|
varying vec2 texCoord;
|
|
varying vec3 vertexPos;
|
|
varying vec3 normal;
|
|
varying vec3 absoluteVertexPos;
|
|
|
|
void main()
|
|
{
|
|
//vec3 norm = normalize(normal)*0.5 + vec3(0.5, 0.5, 0.5);
|
|
//gl_FragColor = vec4(norm, 1.0);
|
|
|
|
vec3 norm = normalize(normal);
|
|
|
|
vec3 lightPos = vec3(-2, 5, 0);
|
|
|
|
vec3 lightVec = absoluteVertexPos - lightPos;
|
|
|
|
float coef = max(dot(-normalize(lightVec),norm),0.2);
|
|
|
|
float coef2 = clamp((15.0 - length(lightVec))/10.0, 0.2, 1.0);
|
|
|
|
vec4 texColor = texture2D(Texture,texCoord).rgba;
|
|
|
|
gl_FragColor = vec4(texColor.rgb*coef2*coef, 1.0);
|
|
|
|
|
|
|
|
/*
|
|
//Night
|
|
//vec4 fogColor = vec4(0.25, 0.55, 1.0, 1.0);
|
|
vec4 fogColor = vec4(0.05, 0.05, 0.1, 1.0);
|
|
|
|
|
|
|
|
float fogDistCoef = (vertexPos.z - FogBeginDistance) / (FogEndDistance - FogBeginDistance);
|
|
|
|
fogDistCoef = clamp(fogDistCoef, 0.0, 1.0);
|
|
|
|
vec4 resultColor = mix(texColor*coef2, fogColor, fogDistCoef);
|
|
|
|
gl_FragColor = vec4(resultColor.rgb, 1.0);*/
|
|
|
|
} |