diff --git a/Effects/lfeat.eff b/Effects/lfeat.eff index e1b1dd3b4..d97550532 100644 --- a/Effects/lfeat.eff +++ b/Effects/lfeat.eff @@ -1,7 +1,7 @@ Effects/lfeat - Effects/terrain-default + Effects/runway @@ -19,8 +19,15 @@ 1.2 true + true + + + /sim/rendering/shaders/skydome + false + + true diff --git a/Effects/runway.eff b/Effects/runway.eff index ea2dbfc5f..0f2262dc5 100644 --- a/Effects/runway.eff +++ b/Effects/runway.eff @@ -84,6 +84,7 @@ /environment/moonlight /sim/rendering/shaders/landmass /sim/rendering/shaders/transition + false @@ -526,6 +527,11 @@ int display_ysize + + raise_vertex + bool + raise_vertex + texture sampler-2d @@ -542,10 +548,14 @@ 2 - + - + false + --> + + greater + 0.4 + diff --git a/Effects/terrain-default.eff b/Effects/terrain-default.eff index c4915d23b..af6443c56 100644 --- a/Effects/terrain-default.eff +++ b/Effects/terrain-default.eff @@ -93,6 +93,7 @@ 1.0 1.0 0 + false /environment/ground-visibility-m /environment/visibility-m /environment/ground-haze-thickness-m @@ -732,6 +733,11 @@ int rock_strata + + raise_vertex + bool + raise_vertex + texture sampler-2d diff --git a/Shaders/runway-ALS.frag b/Shaders/runway-ALS.frag index 00e34a428..e42fe88be 100644 --- a/Shaders/runway-ALS.frag +++ b/Shaders/runway-ALS.frag @@ -176,23 +176,23 @@ float noise_2000m = Noise2D(rawPos.xy, 2000.0); } -const vec4 dust_color = vec4 (0.76, 0.71, 0.56, 1.0); -const vec4 lichen_color = vec4 (0.17, 0.20, 0.06, 1.0);; +const vec3 dust_color = vec3 (0.76, 0.71, 0.56); +const vec3 lichen_color = vec3 (0.17, 0.20, 0.06); //float snow_alpha; if (quality_level > 3) { // mix vegetation - texel = mix(texel, lichen_color, 0.4 * lichen_cover_factor + 0.8 * lichen_cover_factor * 0.5 * (noise_10m + (1.0 - noise_5m)) ); + texel.rgb = mix(texel.rgb, lichen_color, 0.4 * lichen_cover_factor + 0.8 * lichen_cover_factor * 0.5 * (noise_10m + (1.0 - noise_5m)) ); // mix dust - texel = mix(texel, dust_color, clamp(0.5 * dust_cover_factor + 3.0 * dust_cover_factor * (((noise_1500m - 0.5) * 0.125)+0.125 ),0.0, 1.0) ); + texel.rgb = mix(texel.rgb, dust_color, clamp(0.5 * dust_cover_factor + 3.0 * dust_cover_factor * (((noise_1500m - 0.5) * 0.125)+0.125 ),0.0, 1.0) ); // mix snow if (relPos.z + eye_alt +500.0 > snowlevel) { snow_alpha = smoothstep(0.75, 0.85, abs(steepness)); - texel = mix(texel, snow_texel, snow_texel.a* smoothstep(snowlevel, snowlevel+200.0, snow_alpha * (relPos.z + eye_alt)+ (noise_2000m + 0.1 * noise_10m -0.55) *400.0)); + texel.rgb = mix(texel.rgb, snow_texel.rgb, snow_texel.a* smoothstep(snowlevel, snowlevel+200.0, snow_alpha * (relPos.z + eye_alt)+ (noise_2000m + 0.1 * noise_10m -0.55) *400.0)); } } diff --git a/Shaders/terrain-haze-ultra.vert b/Shaders/terrain-haze-ultra.vert index 00e912cd6..993f590c3 100644 --- a/Shaders/terrain-haze-ultra.vert +++ b/Shaders/terrain-haze-ultra.vert @@ -29,9 +29,10 @@ varying vec2 grad_dir; varying float mie_angle; varying float steepness; - - uniform int colorMode; + +uniform bool raise_vertex; + uniform float hazeLayerAltitude; uniform float terminator; uniform float terrain_alt; @@ -87,6 +88,8 @@ void main() steepness = dot(normalize(gl_Normal), vec3 (0.0, 0.0, 1.0)); grad_dir = normalize(gl_Normal.xy); + if (raise_vertex) gl_Vertex.z+=0.1; + // this code is copied from default.vert //vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex; @@ -129,21 +132,6 @@ void main() scattering = ground_scattering + (1.0 - ground_scattering) * smoothstep(hazeLayerAltitude -100.0, hazeLayerAltitude + 100.0, vertex_alt); -// early culling of vertices which can't be seen due to ground haze despite being in aloft visibility range - -//float delta_z = hazeLayerAltitude - eye_alt; -//if (((dist * (relPos.z - delta_z)/relPos.z > visibility ) && (relPos.z < 0.0) && (delta_z < 0.0) && (dist > 30000.0))) -if (0==1) - { - gl_Position = vec4(0.0, 0.0, -1000.0, 1.0); // move outside of view frustrum, gets culled before reaching fragment shader - earthShade = 1.0; - mie_angle = 1.0; - yprime_alt = 0.0; - } -else - { - - // branch dependent on daytime if (terminator < 1000000.0) // the full, sunrise and sunset computation @@ -284,7 +272,7 @@ float shade_depth = 1.0 * smoothstep (0.6,0.95,ground_scattering) * (1.0-smooth gl_BackColor.rgb = constant_term.rgb; //gl_BackColor.a = 0.0; gl_FrontColor.a = mie_angle; gl_BackColor.a = mie_angle; -} + }