diff --git a/Media/Hlms/Common/Any/Fog_piece_ps.any b/Media/Hlms/Common/Any/Fog_piece_ps.any index ccc7833..64bd1b6 100644 --- a/Media/Hlms/Common/Any/Fog_piece_ps.any +++ b/Media/Hlms/Common/Any/Fog_piece_ps.any @@ -10,10 +10,11 @@ // float2 params = float2(400, 3000); // float fogFactor = 1.0 - clamp((params.y - fogDistance) / (params.y - params.x), 0.0, 1.0); // exp - float fogFactor = 1.0 - exp( -fogDistance * 0.00003 ); // + 0.0001 .. 0.001 - //float fogFactor = exp(-inPs.pos.z * 0.0001); // * (1.0-exp( -distance*rayDir.y*b ))/rayDir.y; // height and dist.. + float fogFactor = 1.0 - exp( -fogDistance * 0.00001 ); //** fog density: 0.00003 0.0001 0.001 + //float fogFactor = 1.0 - exp( -(270 - inPs.pos.y) * 0.001); // * (1.0-exp( -distance*rayDir.y*b ))/rayDir.y; // height and dist.. - float3 fogColor = float3(0.2,0.4,0.6); - finalColour = mix(finalColour, fogColor, fogFactor); + float3 fogColor = float3(0.2,0.4,0.6) * outPs_colour0.w; + //outPs_colour0.xyz = mix(outPs_colour0.xyz, lerp(float3(1.0,0.4,0.0), fogColor, outPs_colour0.w), fogFactor ); + outPs_colour0.xyz = mix(outPs_colour0.xyz, fogColor, fogFactor ); @end diff --git a/Media/Hlms/Pbs/Any/Main/800.PixelShader_piece_ps.any b/Media/Hlms/Pbs/Any/Main/800.PixelShader_piece_ps.any index 8e3f746..b19caf8 100644 --- a/Media/Hlms/Pbs/Any/Main/800.PixelShader_piece_ps.any +++ b/Media/Hlms/Pbs/Any/Main/800.PixelShader_piece_ps.any @@ -816,10 +816,6 @@ @property( !hlms_prepass ) @property( hlms_normal || hlms_qtangent ) - //** fog - @insertpiece( FogPS ) - - @property( !hw_gamma_write ) //Linear to Gamma space outPs_colour0.xyz = sqrt( finalColour ); @@ -837,6 +833,9 @@ outPs_colour0.w = 1.0; @end + //** fog + @insertpiece( FogPS ) + @property( debug_pssm_splits ) outPs_colour0.xyz = mix( outPs_colour0.xyz, debugPssmSplit.xyz, 0.2f ); @end diff --git a/Media/Hlms/Terra/Any/800.PixelShader_piece_ps.any b/Media/Hlms/Terra/Any/800.PixelShader_piece_ps.any index 00fbd5c..5d20c0a 100644 --- a/Media/Hlms/Terra/Any/800.PixelShader_piece_ps.any +++ b/Media/Hlms/Terra/Any/800.PixelShader_piece_ps.any @@ -364,10 +364,6 @@ @property( !hlms_render_depth_only ) @property( !hlms_prepass ) - //** fog - @insertpiece( FogPS ) - - @property( !hw_gamma_write ) //Linear to Gamma space outPs_colour0.xyz = sqrt( finalColour ); @@ -385,6 +381,9 @@ outPs_colour0.w = 1.0; @end + //** fog + @insertpiece( FogPS ) + @property( debug_pssm_splits ) outPs_colour0.xyz = mix( outPs_colour0.xyz, debugPssmSplit.xyz, 0.2f ); @end