}
#endif
- if (GENERATE_NORMALMAPS == 1 && normalTexturePresent == false) {
+#if GENERATE_NORMALMAPS == 1
+ if (normalTexturePresent == false) {
float tl = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y + SAMPLE_STEP));
float t = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y - SAMPLE_STEP));
float tr = get_rgb_height(vec2(uv.x + SAMPLE_STEP, uv.y + SAMPLE_STEP));
bump = vec4(normalize(vec3 (dX, dY, NORMALMAPS_STRENGTH)), 1.0);
use_normalmap = true;
}
-
+#endif
vec4 base = texture2D(baseTexture, uv).rgba;
#ifdef ENABLE_BUMPMAPPING
col = applyToneMapping(col);
#endif
- if (fogDistance != 0.0) {
- // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
- // the fog will only be rendered correctly if the last operation before the
- // clamp() is an addition. Else, the clamp() seems to be ignored.
- // E.g. the following won't work:
- // float clarity = clamp(fogShadingParameter
- // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
- // As additions usually come for free following a multiplication, the new formula
- // should be more efficient as well.
- // Note: clarity = (1 - fogginess)
- float clarity = clamp(fogShadingParameter
- - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
- col = mix(skyBgColor, col, clarity);
- }
+ // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
+ // the fog will only be rendered correctly if the last operation before the
+ // clamp() is an addition. Else, the clamp() seems to be ignored.
+ // E.g. the following won't work:
+ // float clarity = clamp(fogShadingParameter
+ // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
+ // As additions usually come for free following a multiplication, the new formula
+ // should be more efficient as well.
+ // Note: clarity = (1 - fogginess)
+ float clarity = clamp(fogShadingParameter
+ - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
+ col = mix(skyBgColor, col, clarity);
col = vec4(col.rgb, base.a);
gl_FragColor = col;
}
#endif
- if (GENERATE_NORMALMAPS == 1 && use_normalmap == false) {
+#if GENERATE_NORMALMAPS == 1
+ if (use_normalmap == false) {
float tl = get_rgb_height (vec2(uv.x-SAMPLE_STEP,uv.y+SAMPLE_STEP));
float t = get_rgb_height (vec2(uv.x-SAMPLE_STEP,uv.y-SAMPLE_STEP));
float tr = get_rgb_height (vec2(uv.x+SAMPLE_STEP,uv.y+SAMPLE_STEP));
bump = vec4 (normalize(vec3 (dX, -dY, NORMALMAPS_STRENGTH)),1.0);
use_normalmap = true;
}
+#endif
vec4 base = texture2D(baseTexture, uv).rgba;
col = applyToneMapping(col);
#endif
- if (fogDistance != 0.0) {
- // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
- // the fog will only be rendered correctly if the last operation before the
- // clamp() is an addition. Else, the clamp() seems to be ignored.
- // E.g. the following won't work:
- // float clarity = clamp(fogShadingParameter
- // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
- // As additions usually come for free following a multiplication, the new formula
- // should be more efficient as well.
- // Note: clarity = (1 - fogginess)
- float clarity = clamp(fogShadingParameter
- - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
- col = mix(skyBgColor, col, clarity);
- }
+ // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
+ // the fog will only be rendered correctly if the last operation before the
+ // clamp() is an addition. Else, the clamp() seems to be ignored.
+ // E.g. the following won't work:
+ // float clarity = clamp(fogShadingParameter
+ // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
+ // As additions usually come for free following a multiplication, the new formula
+ // should be more efficient as well.
+ // Note: clarity = (1 - fogginess)
+ float clarity = clamp(fogShadingParameter
+ - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
+ col = mix(skyBgColor, col, clarity);
col = vec4(col.rgb, base.a);
gl_FragColor = col;
}
#endif
- if (GENERATE_NORMALMAPS == 1 && normalTexturePresent == false) {
+#if GENERATE_NORMALMAPS == 1
+ if (normalTexturePresent == false) {
float tl = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y + SAMPLE_STEP));
float t = get_rgb_height(vec2(uv.x - SAMPLE_STEP, uv.y - SAMPLE_STEP));
float tr = get_rgb_height(vec2(uv.x + SAMPLE_STEP, uv.y + SAMPLE_STEP));
bump = vec4(normalize(vec3 (dX, dY, NORMALMAPS_STRENGTH)), 1.0);
use_normalmap = true;
}
+#endif
vec4 base = texture2D(baseTexture, uv).rgba;
vec4 col = vec4(color.rgb, base.a);
col *= gl_Color;
- if (fogDistance != 0.0) {
- // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
- // the fog will only be rendered correctly if the last operation before the
- // clamp() is an addition. Else, the clamp() seems to be ignored.
- // E.g. the following won't work:
- // float clarity = clamp(fogShadingParameter
- // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
- // As additions usually come for free following a multiplication, the new formula
- // should be more efficient as well.
- // Note: clarity = (1 - fogginess)
- float clarity = clamp(fogShadingParameter
- - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
- col = mix(skyBgColor, col, clarity);
- }
+ // Due to a bug in some (older ?) graphics stacks (possibly in the glsl compiler ?),
+ // the fog will only be rendered correctly if the last operation before the
+ // clamp() is an addition. Else, the clamp() seems to be ignored.
+ // E.g. the following won't work:
+ // float clarity = clamp(fogShadingParameter
+ // * (fogDistance - length(eyeVec)) / fogDistance), 0.0, 1.0);
+ // As additions usually come for free following a multiplication, the new formula
+ // should be more efficient as well.
+ // Note: clarity = (1 - fogginess)
+ float clarity = clamp(fogShadingParameter
+ - fogShadingParameter * length(eyeVec) / fogDistance, 0.0, 1.0);
+ col = mix(skyBgColor, col, clarity);
+
gl_FragColor = vec4(col.rgb, base.a);
}