54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
uniform sampler2D Texture;
 | 
						|
uniform sampler2D NormalMap;
 | 
						|
uniform float FogBeginDistance;
 | 
						|
uniform float FogEndDistance;
 | 
						|
 | 
						|
varying vec2 texCoord;
 | 
						|
varying vec3 vertexPos;
 | 
						|
varying vec3 absoluteVertexPos;
 | 
						|
varying vec3 normal;
 | 
						|
varying vec3 tangent;
 | 
						|
varying vec3 bitangent;
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
 | 
						|
	vec3 norm1 = normalize(normal);
 | 
						|
    vec3 norm2 = texture2D(NormalMap, texCoord).rgb * 2.0 - 1.0;
 | 
						|
 | 
						|
    mat3 TBN = mat3(tangent, bitangent, norm1);
 | 
						|
 | 
						|
    vec3 transformedNormal = normalize(TBN * norm2);
 | 
						|
 | 
						|
	//gl_FragColor = vec4(transformedNormal*0.5+ vec3(0.5, 0.5, 0.5), 1.0);
 | 
						|
 | 
						|
	vec3 lightPos = vec3(-2, 5, 0);
 | 
						|
	
 | 
						|
	vec3 lightVec = absoluteVertexPos - lightPos;
 | 
						|
	
 | 
						|
	float coef = max(dot(-normalize(lightVec),transformedNormal),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);*/
 | 
						|
 | 
						|
} |