From 197200149ca8126ccc699d2956497c5bc653a0cb Mon Sep 17 00:00:00 2001 From: "gral@who.net" Date: Wed, 25 Aug 2010 22:50:57 +0200 Subject: [PATCH] Better herbtundra colour and transition --- Effects/forest.eff | 2 +- Effects/herbtundra.eff | 2 +- Shaders/forest.frag | 15 +++++++++++---- materials.xml | 4 ++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Effects/forest.eff b/Effects/forest.eff index 7af77df78..2ab35deb6 100644 --- a/Effects/forest.eff +++ b/Effects/forest.eff @@ -31,7 +31,7 @@ normalized /sim/rendering/snow-level-m - 0.01 + 0.04 15.0 /sim/rendering/quality-level diff --git a/Effects/herbtundra.eff b/Effects/herbtundra.eff index a31fdb345..0d30ff2fd 100644 --- a/Effects/herbtundra.eff +++ b/Effects/herbtundra.eff @@ -11,7 +11,7 @@ normalized - Textures/Terrain/forest-colors.png + Textures/Terrain/herbtundra-colors.png linear-mipmap-linear mirror normalized diff --git a/Shaders/forest.frag b/Shaders/forest.frag index 2ede6761c..e54016026 100644 --- a/Shaders/forest.frag +++ b/Shaders/forest.frag @@ -125,10 +125,12 @@ void main (void) vec3 diffuse; //draw floor where !steep, and another blurb for smoothing transitions - vec4 c3, c4, c5; + vec4 c3, c4, c5, c3a, c4a, c5a; c3 = mix(vec4(n-0.88, n-0.14, -n, 0.0), c1, smoothstep(0.990, 0.970, abs(normalize(Normal).z)+nvL[2]*1.3)); c4 = mix(vec4(n-0.88, n-0.74, -n, 0.0), c1, smoothstep(0.990, 0.890, abs(normalize(Normal).z)+nvL[2]*0.9)); + c4a = mix(vec4(n-0.76, n-0.66, -n, 0.3), c1, smoothstep(0.990, 0.970, abs(normalize(Normal).z)+nvL[2]*1.32)); c5 = mix(c3, c4, 1.0); + c5a = mix(c3, c4a, 1.0); if (vegetationlevel <= 2200) { @@ -141,13 +143,18 @@ void main (void) diffuse = gl_Color.rgb * max(0.7, dot(N, l)) * max(0.9, dot(VNormal, gl_LightSource[0].position.xyz)); } - if (vegetationlevel >= 2300 && vegetationlevel < 2530) { - c1 = mix(c2, c5, clamp(0.65, n*0.5, 0.20)); + if (vegetationlevel >= 2300 && vegetationlevel < 2480) { + c1 = mix(c2, c5a, clamp(0.65, n*0.5, 0.30)); + diffuse = gl_Color.rgb * max(0.85, dot(N, l)) * max(0.9, dot(VNormal, gl_LightSource[0].position.xyz)); + } + + if (vegetationlevel >= 2480 && vegetationlevel < 2530) { + c1 = mix(c2, c5a, clamp(0.65, n*0.5, 0.20)); diffuse = gl_Color.rgb * max(0.85, dot(N, l)) * max(0.9, dot(VNormal, gl_LightSource[0].position.xyz)); } if (vegetationlevel >= 2530 && vegetationlevel < 2670) { - c1 = mix(c2, c5, clamp(0.65, n*0.5, 0.05)); + c1 = mix(c2, c5, clamp(0.65, n*0.5, 0.10)); diffuse = gl_Color.rgb * max(0.85, dot(N, l)) * max(0.9, dot(VNormal, gl_LightSource[0].position.xyz)); } diff --git a/materials.xml b/materials.xml index 5dbcb93b6..c94a95926 100644 --- a/materials.xml +++ b/materials.xml @@ -715,12 +715,12 @@ Shared parameters for various materials. 2000 2000 10000000.0 - 4000.0 + 1000.0 Textures/Trees/coniferous-summer.png 8 25.0 - 15.0 + 18.0 1 1