diff --git a/code/menbbloomfilters.fx b/code/menbbloomfilters.fx index ffa5d27..74e5a67 100644 --- a/code/menbbloomfilters.fx +++ b/code/menbbloomfilters.fx @@ -59,9 +59,15 @@ float4 PS_BloomTexture1(VS_OUTPUT_POST In) : COLOR float2 coord = In.txcoord0.xy; float4 res = float4(0,0,0,0); int i; + float sum = 0; + float2 pp; [unroll] for ( i=-7; i<=7; i++ ) - res += gauss8[abs(i)]*tex2D(SamplerBloom1,coord+float2(i,0) - *TempParameters.z*bloomradius); + { + pp = coord+float2(i,0)*TempParameters.z*bloomradius; + res += gauss8[abs(i)]*tex2D(SamplerBloom1,pp); + sum += ((pp.x>=0)&&(pp.x<1))?gauss8[abs(i)]:0; + } + res *= 1.0/sum; res.a = 1.0; return res; } @@ -71,9 +77,15 @@ float4 PS_BloomTexture2(VS_OUTPUT_POST In) : COLOR float2 coord = In.txcoord0.xy; float4 res = float4(0,0,0,0), base = tex2D(SamplerBloom5,coord); int i; + float sum = 0; + float2 pp; [unroll] for ( i=-7; i<=7; i++ ) - res += gauss8[abs(i)]*tex2D(SamplerBloom1,coord+float2(0,i) - *TempParameters.z*bloomradius); + { + pp = coord+float2(0,i)*TempParameters.z*bloomradius; + res += gauss8[abs(i)]*tex2D(SamplerBloom1,pp); + sum += ((pp.y>=0)&&(pp.y<1))?gauss8[abs(i)]:0; + } + res *= 1.0/sum; /* blue shift */ float3 blu_n = float3(blu_n_r,blu_n_g,blu_n_b); float3 blu_d = float3(blu_d_r,blu_d_g,blu_d_b); @@ -110,9 +122,15 @@ float4 PS_AnamPass(VS_OUTPUT_POST In) : COLOR float2 coord = In.txcoord0.xy; float4 res = float4(0,0,0,0), base = tex2D(SamplerBloom5,coord); int i; + float sum = 0; + float2 pp; [unroll] for ( i=-79; i<=79; i++ ) - res += gauss80[abs(i)]*tex2D(SamplerBloom1,coord+float2(i,0) - *TempParameters.z*bloomradius*flen); + { + pp = coord+float2(i,0)*TempParameters.z*bloomradius*flen; + res += gauss80[abs(i)]*tex2D(SamplerBloom1,pp); + sum += ((pp.x>=0)&&(pp.x<1))?gauss80[abs(i)]:0; + } + res *= 1.0/sum; /* blue shift */ float3 flu_n = float3(flu_n_r,flu_n_g,flu_n_b); float3 flu_d = float3(flu_d_r,flu_d_g,flu_d_b); diff --git a/skyrim/enbseries/enbbloom.fx.ini b/skyrim/enbseries/enbbloom.fx.ini index 43846d6..6af34b6 100644 --- a/skyrim/enbseries/enbbloom.fx.ini +++ b/skyrim/enbseries/enbbloom.fx.ini @@ -4,14 +4,14 @@ Bloom Intensity Night=0.96 Bloom Intensity Day=0.8 Bloom Intensity Interior Night=0.98 Bloom Intensity Interior Day=0.84 -Bloom Contrast Night=0.83 -Bloom Contrast Day=0.93 -Bloom Contrast Interior Night=0.8 -Bloom Contrast Interior Day=0.87 -Bloom Saturation Night=0.92 -Bloom Saturation Day=0.82 -Bloom Saturation Interior Night=0.96 -Bloom Saturation Interior Day=0.93 +Bloom Contrast Night=0.92 +Bloom Contrast Day=0.96 +Bloom Contrast Interior Night=0.89 +Bloom Contrast Interior Day=0.95 +Bloom Saturation Night=0.67 +Bloom Saturation Day=0.57 +Bloom Saturation Interior Night=0.72 +Bloom Saturation Interior Day=0.63 Bloom Offset Night=-0.1 Bloom Offset Day=-0.17 Bloom Offset Interior Night=-0.08 @@ -40,10 +40,10 @@ Blue Shift Intensity Interior Day=0.19 Blue Shift Luminance Factor Per-pass=0.44 Blue Shift Color Factor Per-pass=0.84 Enable Anamorphic Bloom=true -Anamorphic Bloom Blend Night=0.87 -Anamorphic Bloom Blend Day=0.62 -Anamorphic Bloom Blend Interior Night=0.97 -Anamorphic Bloom Blend Interior Day=0.77 +Anamorphic Bloom Blend Night=0.64 +Anamorphic Bloom Blend Day=0.47 +Anamorphic Bloom Blend Interior Night=0.69 +Anamorphic Bloom Blend Interior Day=0.54 Anamorphic Bloom Blue Shift Night Red=0.35 Anamorphic Bloom Blue Shift Night Green=0.08 Anamorphic Bloom Blue Shift Night Blue=1.0 @@ -56,7 +56,7 @@ Anamorphic Bloom Blue Shift Interior Night Blue=1.0 Anamorphic Bloom Blue Shift Interior Day Red=0.21 Anamorphic Bloom Blue Shift Interior Day Green=0.42 Anamorphic Bloom Blue Shift Interior Day Blue=1.0 -Anamorphic Bloom Blue Shift Intensity Night=1.35 +Anamorphic Bloom Blue Shift Intensity Night=1.34 Anamorphic Bloom Blue Shift Intensity Day=1.26 Anamorphic Bloom Blue Shift Interior Night=1.53 Anamorphic Bloom Blue Shift Interior Day=1.32