 	texNormal += texOffset;
 #endif
 
-	// compute normals
-	vec3 N = normalize(var_Normal);
-
 	// compute normal in world space from normalmap
 	vec3 normal = NormalInWorldSpace(texNormal, tangentToWorldMatrix);
 

	float fresnel = clamp(u_FresnelBias + pow(1.0 - dot(viewDir, normal), u_FresnelPower) *
			u_FresnelScale, 0.0, 1.0);

	vec3 refractColor = texture2D(u_CurrentMap, texScreen).rgb;
	vec3 reflectColor = texture2D(u_PortalMap, texScreen).rgb;

	vec4 color;

	color.rgb = mix(refractColor, reflectColor, fresnel);
	color.a = 1.0;

	if(u_FogDensity > 0.0)

		color.rgb = mix(u_FogColor, color.rgb, fogFactor);
	}

	vec3 lightDir;
	vec3 ambientColor;
	vec3 lightColor;

	ReadLightGrid( (var_Position - u_LightGridOrigin) * u_LightGridScale,
		       lightDir, ambientColor, lightColor );

	vec4 diffuse = vec4(0.0, 0.0, 0.0, 1.0);

	// compute the specular term
	computeLight(lightDir, normal, viewDir, lightColor, diffuse, reflectColor, color);

	outputColor = color;
}
