diff --git a/enbseries.ini b/enbseries.ini index 18d6b90..3bc5b9a 100644 --- a/enbseries.ini +++ b/enbseries.ini @@ -963,11 +963,11 @@ AnchorsAmountDusk=1.0 AnchorsAmountNight=1.0 AnchorsAmountInteriorDay=1.0 AnchorsAmountInteriorNight=1.0 -ColorFromEnvironmentFog=0.46 +ColorFromEnvironmentFog=0.48 SkyLightingAmountDawn=0.96 SkyLightingAmountSunrise=1.04 SkyLightingAmountDay=0.96 -SkyLightingAmountSunset=1.02 +SkyLightingAmountSunset=1.06 SkyLightingAmountDusk=0.96 SkyLightingAmountNight=0.82 SkyLightingAmountInteriorDay=0.96 @@ -999,23 +999,23 @@ ColorFilterInteriorNight=1, 1, 1 RelativeToCameraDawn=0.39 RelativeToCameraSunrise=0.48 RelativeToCameraDay=0.66 -RelativeToCameraSunset=0.44 +RelativeToCameraSunset=0.43 RelativeToCameraDusk=0.33 RelativeToCameraNight=0.49 RelativeToCameraInteriorDay=0.58 RelativeToCameraInteriorNight=0.21 -VerticalOffsetDawn=-11.5 -VerticalOffsetSunrise=-11.06 -VerticalOffsetDay=-11.099999 -VerticalOffsetSunset=-11.09 -VerticalOffsetDusk=-11.55 -VerticalOffsetNight=-11.8 -VerticalOffsetInteriorDay=-10.44 -VerticalOffsetInteriorNight=-11.26 +VerticalOffsetDawn=0.0 +VerticalOffsetSunrise=0.0 +VerticalOffsetDay=0.0 +VerticalOffsetSunset=0.0 +VerticalOffsetDusk=0.0 +VerticalOffsetNight=0.0 +VerticalOffsetInteriorDay=0.0 +VerticalOffsetInteriorNight=0.0 DensityDawn=1.15 DensitySunrise=1.16 DensityDay=1.18 -DensitySunset=1.17 +DensitySunset=1.18 DensityDusk=1.15 DensityNight=1.16 DensityInteriorDay=1.29 @@ -1023,8 +1023,8 @@ DensityInteriorNight=1.17 VerticalFadeDawn=4.74 VerticalFadeSunrise=4.64 VerticalFadeDay=4.54 -VerticalFadeSunset=4.52 -VerticalFadeDusk=4.74 +VerticalFadeSunset=4.49 +VerticalFadeDusk=4.77 VerticalFadeNight=4.82 VerticalFadeInteriorDay=4.39 VerticalFadeInteriorNight=4.78 @@ -1044,11 +1044,11 @@ BottomTopDusk=0.0 BottomTopNight=0.0 BottomTopInteriorDay=0.0 BottomTopInteriorNight=0.0 -ExponentialFadeDawn=0.7 -ExponentialFadeSunrise=0.7 -ExponentialFadeDay=0.7 -ExponentialFadeSunset=0.7 -ExponentialFadeDusk=0.7 -ExponentialFadeNight=0.7 -ExponentialFadeInteriorDay=0.7 -ExponentialFadeInteriorNight=0.7 +ExponentialFadeDawn=1.0 +ExponentialFadeSunrise=1.0 +ExponentialFadeDay=1.0 +ExponentialFadeSunset=1.0 +ExponentialFadeDusk=1.0 +ExponentialFadeNight=1.0 +ExponentialFadeInteriorDay=1.0 +ExponentialFadeInteriorNight=1.0 diff --git a/enbseries/VERSION b/enbseries/VERSION index 825d54b..f9c1323 100644 --- a/enbseries/VERSION +++ b/enbseries/VERSION @@ -1 +1 @@ -2.4.4-1 "The Bokehning" +2.4.5-1 "The Bokehning" diff --git a/enbseries/_coldfogweather.ini b/enbseries/_coldfogweather.ini index e2fc041..f844e76 100644 --- a/enbseries/_coldfogweather.ini +++ b/enbseries/_coldfogweather.ini @@ -267,13 +267,13 @@ FogColorFilterDusk=0.588, 0.494, 0.714 ColorPowDawn=1.0 ColorPowDusk=1.0 [SKY] -CloudsIntensityDay=1.100001 +CloudsIntensityDay=0.840001 CloudsIntensityNight=0.360001 CloudsIntensityInterior=1.49 -CloudsCurveDay=1.09 +CloudsCurveDay=1.07 CloudsCurveNight=1.48 CloudsCurveInterior=1.5 -CloudsDesaturationDay=0.41 +CloudsDesaturationDay=0.42 CloudsDesaturationNight=0.26 CloudsDesaturationInterior=0.14 GradientIntensityDay=0.980001 @@ -309,17 +309,17 @@ MoonIntensity=1.6 MoonCurve=1.0 MoonDesaturation=0.2 CloudsIntensitySunrise=0.710001 -CloudsIntensitySunset=0.68 -CloudsIntensityInteriorDay=0.53 +CloudsIntensitySunset=0.66 +CloudsIntensityInteriorDay=0.81 CloudsIntensityInteriorNight=0.27 CloudsCurveSunrise=1.14 -CloudsCurveSunset=1.15 +CloudsCurveSunset=1.14 CloudsCurveInteriorDay=1.07 CloudsCurveInteriorNight=1.56 CloudsDesaturationSunrise=0.33 CloudsDesaturationSunset=0.35 -CloudsDesaturationInteriorDay=0.6 -CloudsDesaturationInteriorNight=0.0 +CloudsDesaturationInteriorDay=0.48 +CloudsDesaturationInteriorNight=0.21 GradientIntensitySunrise=0.850001 GradientIntensitySunset=0.850001 GradientIntensityInteriorDay=0.99 @@ -662,20 +662,20 @@ IntensityDusk=1.0 CurveDawn=1.0 CurveDusk=1.0 [PARTICLE] -IntensitySunrise=0.94 -IntensityDay=1.25 -IntensitySunset=0.94 +IntensitySunrise=0.83 +IntensityDay=0.91 +IntensitySunset=0.85 IntensityNight=0.65 -IntensityInteriorDay=1.19 +IntensityInteriorDay=0.92 IntensityInteriorNight=0.62 -LightingInfluenceSunrise=1.04 -LightingInfluenceDay=0.92 -LightingInfluenceSunset=1.02 +LightingInfluenceSunrise=1.14 +LightingInfluenceDay=1.08 +LightingInfluenceSunset=1.15 LightingInfluenceNight=1.42 -LightingInfluenceInteriorDay=0.93 +LightingInfluenceInteriorDay=1.08 LightingInfluenceInteriorNight=1.32 -IntensityDawn=0.7 -IntensityDusk=0.73 +IntensityDawn=0.68 +IntensityDusk=0.7 LightingInfluenceDawn=1.23 LightingInfluenceDusk=1.23 [RAYS] diff --git a/enbseries/_weatherlist.ini b/enbseries/_weatherlist.ini index 7db94c5..544faa2 100644 --- a/enbseries/_weatherlist.ini +++ b/enbseries/_weatherlist.ini @@ -1,12 +1,12 @@ [WEATHER001] FileName=_hotweather.ini -WeatherIDs=d9329, 10199f, 10a230, 10a233, 10a23b, 10a23f, 10a7a5, 10a7a8, 10d9ec, 10e1e3, 10e1e4, 10e1e5, 10e1e6, 10e1eb, 10e1ec, 1760e, 1760f, 19bbe, 19bbf, 19bc0, 1bc0d, 25d8d, 2e982, 2e983, 3ab68, 12eab9, 7761f, 701d2, 67bb2 +WeatherIDs=d9329, 10199f, 10a230, 10a233, 10a23b, 10a23f, 10a7a5, 10a7a8, 10d9ec, 10e1e3, 10e1e4, 10e1e5, 10e1e6, 10e1eb, 10e1ec, 1760e, 1760f, 19bbe, 19bbf, 19bc0, 1bc0d, 25d8d, 2e982, 2e983, 3ab68, 701d2, 67bb2 [WEATHER002] FileName=_coldweather.ini -WeatherIDs=aee84, ecc96, 104ab4, 10a244, 10a245, 10da13, 10e1ef, 10e1f0, 10fef8, 1407, 959f, 10e0b, 10e0e, 10e0f, 10e10, 14551, 18dbb, 18dbc, 18dbd, 19599, 195a0, 21311, 62484, 2c603b, 2da92c +WeatherIDs=aee84, ecc96, 104ab4, 10a244, 10a245, 10da13, 10e1ef, 10e1f0, 10fef8, 1407, 959f, 10e0b, 10e0e, 10e0f, 10e10, 14551, 18dbb, 18dbc, 18dbd, 19599, 195a0, 62484, 2c603b, 2da92c [WEATHER003] FileName=_fogweather.ini -WeatherIDs=923fd, d299e, 105942, 105943, 105944, 105945, 106635, 10a231, 10a232, 10a235, 10a238, 10a239, 10a23c, 10a23d, 10a23e, 10a241, 10a242, 10a7a6, 10a7a7, 10c32f, 34cfb, 1c6d2, 1cc35, 4bdf7, 57500, 73963, 73964, 73ec8, 83665, 56a0c, 56a0d +WeatherIDs=923fd, d299e, 105942, 105943, 105944, 105945, 106635, 10a231, 10a232, 10a235, 10a238, 10a239, 10a23c, 10a23d, 10a23e, 10a241, 10a242, 10a7a6, 10a7a7, 10c32f, 34cfb, 1c6d2, 1cc35, 4bdf7, 57500, 73963, 73964, 73ec8, 83665, 56a0c, 56a0d, 12c4, 179ab, 161063, 161065, 2946e6, 296eb5 [WEATHER004] FileName=_coldfogweather.ini WeatherIDs=4d7fb, c821e, c821f, c8220, c8221, d4886, 1d760, 374ba, 2c603b, 2da92c diff --git a/enbseries/enbeffectprepass.fx.ini b/enbseries/enbeffectprepass.fx.ini index 9e6b4c7..601bf92 100644 --- a/enbseries/enbeffectprepass.fx.ini +++ b/enbseries/enbeffectprepass.fx.ini @@ -123,7 +123,7 @@ DOF Fog Blend Interior Day=1.0 Disable DOF=false Use Only Fixed DOF=false DOF Blur Radius=8.0 -DOF Blur Chromatic Aberration=1.78 +DOF Blur Chromatic Aberration=1.82 DOF Relative to FOV=true Default FOV=75.0 DOF Relative Factor Night=2.19 @@ -180,9 +180,9 @@ DOF Fog Depth=0.0 Enable DOF Post-Blur=true DOF Post-Blur Radius=1.0 Enable DOF Highlights=true -DOF Highlight Threshold=0.71 -DOF Highlight Gain=1.93 -DOF Bokeh Edge Bias=0.5 -DOF Bokeh Fuzz=0.01 +DOF Highlight Threshold=0.47 +DOF Highlight Gain=2.21 +DOF Bokeh Edge Bias=0.72 +DOF Bokeh Fuzz=0.05 DOF Gather Blur Radius=8.0 -DOF Bokeh Blur Radius=2.0 +DOF Bokeh Blur Radius=1.62 diff --git a/enbseries/enbhelper.dll b/enbseries/enbhelper.dll new file mode 100644 index 0000000..33466ab Binary files /dev/null and b/enbseries/enbhelper.dll differ diff --git a/enbseries/menbprepassfilters.fx b/enbseries/menbprepassfilters.fx index 9a4266e..06381d3 100644 --- a/enbseries/menbprepassfilters.fx +++ b/enbseries/menbprepassfilters.fx @@ -403,16 +403,23 @@ float4 PS_DoFPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR } /* helper code for simplifying these */ #define gcircle(x) float2(cos(x),sin(x)) -float4 dofsample( float2 coord, float2 bsz, float blur, bool bDoHighlight ) +float4 dofsample( float2 coord, float2 bsz, float blur, bool bDoHighlight, + out float4 deps, out float4 dfcs ) { float4 res; float cstep = 2.0*pi*(1.0/3.0); float ang = 0.5*pi; res.r = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).r; + deps.r = tex2D(SamplerDepth,coord+gcircle(ang)*bsz*dofpcha*0.1).x; + dfcs.r = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).a; ang += cstep; res.g = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).g; + deps.g = tex2D(SamplerDepth,coord+gcircle(ang)*bsz*dofpcha*0.1).x; + dfcs.g = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).a; ang += cstep; res.b = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).b; + deps.b = tex2D(SamplerDepth,coord+gcircle(ang)*bsz*dofpcha*0.1).x; + dfcs.b = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).a; if ( bDoHighlight ) { float l = luminance(res.rgb); @@ -420,6 +427,8 @@ float4 dofsample( float2 coord, float2 bsz, float blur, bool bDoHighlight ) res += lerp(0,res,threshold*blur); } res.a = tex2D(SamplerColor,coord).a; + deps.a = tex2D(SamplerDepth,coord).x; + dfcs.a = res.a; return res; } /* gather blur pass */ @@ -441,14 +450,15 @@ float4 PS_DoFGather( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR if ( dfc <= dofminblur ) return tex2D(SamplerColor,coord); float4 res = float4(0,0,0,0); float dep = tex2D(SamplerDepth,coord).x; - float ds, sw, tw = 0; float2 bsz = bof*dofpradius*dfc; - float4 sc; + float4 sc, ds, sd, sw, tw = float4(0,0,0,0); [unroll] for ( int i=0; i<32; i++ ) { - sc = dofsample(coord+poisson32[i]*bsz,bsz,dfc,dofhilite); - ds = tex2D(SamplerDepth,coord+poisson32[i]*bsz).x; - sw = (ds>dep)?1.0:sc.a; + sc = dofsample(coord+poisson32[i]*bsz,bsz,dfc,dofhilite,ds,sd); + sw.r = (ds.r>dep)?1.0:sd.r; + sw.g = (ds.g>dep)?1.0:sd.g; + sw.b = (ds.b>dep)?1.0:sd.b; + sw.a = (ds.a>dep)?1.0:sd.a; tw += sw; res += sc*sw; } @@ -479,9 +489,9 @@ float4 PS_DoFBorkeh( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR float2 sf = bof+(tex2D(SamplerNoise3,coord*(bresl/256.0)).xy*2.0-1.0) *dofbnoise*0.001; float2 sr = sf*dofbradius*dfc; - float tw = 1.0; int rsamples; - float bstep, sw; + float bstep, bw; + float4 sc, ds, sd, sw, tw = float4(1,1,1,1); float2 rcoord; #define dofbrings 7 #define dofbsamples 3 @@ -492,9 +502,14 @@ float4 PS_DoFBorkeh( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR { bstep = pi*2.0/(float)rsamples; rcoord = gcircle(j*bstep)*i; - sw = lerp(1.0,(float)i/(float)dofbrings,dofbbias); - res += dofsample(coord+rcoord*sr,sr,dfc,dofhilite)*sw; - tw += sw; + bw = lerp(1.0,(float)i/(float)dofbrings,dofbbias); + sc = dofsample(coord+rcoord*sr,sr*i,dfc,dofhilite,ds,sd); + sw.r = (ds.r>dep)?1.0:sd.r; + sw.g = (ds.g>dep)?1.0:sd.g; + sw.b = (ds.b>dep)?1.0:sd.b; + sw.a = (ds.a>dep)?1.0:sd.a; + res += sc*sw*bw; + tw += sw*bw; } } res /= tw; diff --git a/enbseries/menbweatherinfo.txt b/enbseries/menbweatherinfo.txt index ef8f0d8..8a57695 100644 --- a/enbseries/menbweatherinfo.txt +++ b/enbseries/menbweatherinfo.txt @@ -1,4 +1,117 @@ -ID NAME TEMPERATURE +Weather classification ideas for 2.5.x: + +Currently, weathers are separated by warm, temperate, cold and whether or not +they're foggy, for a total of 6 classes. This is way too simplified and doesn't +leave much room for proper customization. + +One idea I have is to expand this to up to 16 weather classes and then have a +separate function for dividing them in hot, cold and foggy for the respective +effects that need them. + +The number of 16 is significative because if I plan to separate the LUTs into +weathers but also unify the textures, I'd be limited to 4*16 (64) different +palettes within the limit of 8192x8192 for the 64px³ version. + +Default -> Clear/Cloudy Whiterun, The Reach, Haafingar +Snowy -> Places where it's snowing (duh) +Rainy -> When it rains, anywhere there isn't snow +Cold Rainy -> Rain in snowy areas +Wintery -> Clear/Cloudy Pale, Winterhold, Mountains, Coast +Shady -> Hjaalmarch, mostly +Swampy -> Hjaalmarch when there's fog +Hot -> Eastmarch +Misty -> Slight fog +Lush -> Falkreath, The Rift +Foggy -> Thicker fog +Blackreach -> Self-descriptive +Spooky -> Soul Cairn +Smoky -> Places where it's warm but there's fog +Cool -> Knox (Aether Suite) +Neutral -> Reserved for a neutral LUT and no weather effects + +# Class Temperature Fog +0 Default Temperate No +1 Snowy Cold Yes +2 Rainy Temperate Yes +3 Cold Rainy Cold Yes +4 Wintery Cold No +5 Shady Temperate No +6 Swampy Temperate Yes +7 Hot Warm No +8 Misty Temperate Yes +9 Lush Warm No +A Foggy Temperate Yes +B Blackreach Temperate Yes +C Spooky Cold No +D Smoky Warm Yes +E Cool Temperate No +F Neutral Temperate No + +Alternatively, I could do 16 more weather classes by separating exterior and +interior into two textures, as there is no real need to interpolate there, +which would make 2 8192x8192 textures. + +"Regions" for easier classification: +Default [Falkreath hold, forested area surrounding Eastmarch] -> Forest +Fall Forest (FF) [The Rift] -> Rift +Snow (SN) [The Pale, Winterhold, mountain areas] -> Wintery +Reach (RE) [The Reach] -> Neutral +Tundra (TU) [Whiterun hold, Haafingar] -> General +Coast (CO) [General northern coast region] -> Sea +Volcanic Tundra (VT) [Eastmarch] -> Warm +Tundra Marsh (MA) [Hjaalmarch] -> Swamp +Blackreach -> Underground +Sovngarde -> Sovngarde +Blue Palace -> Hazy +Bloated Man's Grotto -> Hazy +Knox -> Know +Coldharbor -> Warm +Soul Cairn -> Spooky +Apocrypha -> Eldrich + +# Class Temperature Fog +00 Forest Temperate No +01 Forest Fog Temperate Yes +02 Forest Rain Cold Yes +03 Forest Snow Cold Yes +04 Rift Temperate No +05 Rift Fog Temperate Yes +06 Rift Rain Temperate Yes +07 Wintery Cold No +08 General Temperate No +09 General Fog Temperate Yes +0A General Rain Temperate Yes +0B Sea Cold No +0C Sea Fog Cold Yes +0D Warm Warm No +0E Warm Fog Warm Yes +0F Warm Rain Temperate Yes +10 Swamp Temperate No +11 Swamp Fog Temperate Yes +12 Swamp Rain Temperate Yes +13 Underground Temperate No +14 Sovngarde Warm No +15 SovngardeFog Temperate Yes +16 SovngardeDarkCold No +17 Hazy Temperate Yes +18 HazyCold Cold Yes +19 HazyWarm Warm Yes +1A Knox Temperate No +1B Knox Storm Temperate Yes +1C Spooky Cold No +1D Eldrich Temperate No +1E Eldrich Fog Temperate Yes +1F Neutral LUT Temperate No + +One last option would be to do a total of 64 weathers by separating time of day +too, then having 4 8192x8192 textures. This would obviously be overkill and +turn MariENB into one hell of a massive time sink in terms of maintenance. It'd +still fit the hardcoded ENB limit of 100 weathers, though. I'm not even going +to consider that one, even though it'd give me much more fine tuned control. + +Here is the list of all weathers this ENB will have special support for: + +ID NAME CLASS Skyrim @@ -144,15 +257,19 @@ Natural Lighting and Atmospherics 73EC8 SkyrimFogHeavy_CM TEMPERATE FOG 83665 SkyrimFogRain_CM TEMPERATE FOG +Unofficial Skyrim Patch + +12C4 USKP_SkyhavenTempleEntranceOvercastRainRE TEMPERATE FOG + -- In progress Darkend -179AB DLC1EclipseDUPLICATE001 - -161063 XJKphalosFog - -161065 XJKphalosStormRainFOG - -2946E6 XJKphalosFogDUPLICATE001 - -296EB5 XJKphalosFogSovngarde - +179AB DLC1EclipseDUPLICATE001 TEMPERATE FOG +161063 XJKphalosFog TEMPERATE FOG +161065 XJKphalosStormRainFOG TEMPERATE FOG +2946E6 XJKphalosFogDUPLICATE001 TEMPERATE FOG +296EB5 XJKphalosFogSovngarde TEMPERATE FOG Vigilant @@ -164,6 +281,15 @@ Vigilant 2C603B zzzCHOldForestStormRain COLD FOG 2DA92C zzzCHWhaleGraveyardStormSnow COLD FOG +Aether Suite + +5BA5F SkyrimAcademyClear TEMPERATE +5C976 00KnoxStormWeather TEMPERATE +601EE 00KnoxWeather TEMPERATE +88AFE 00KnoxWeatherNoRain TEMPERATE + +-- Might just be shoved into a separate preset + Enderal 4815 _00E_Swamp01 - @@ -176,7 +302,7 @@ Enderal 20B13 _00E_WeatherSullevanInterior - 20B16 _00E_WeatherSullevanIntereur - 21310 SkuldafnCloudyDUPLICATE001 - -21311 _00E_EnderalRainLight COLD +21311 _00E_EnderalRainLight - 2B999 _0E_MaxWetter - 2B9A1 _00E_MaxWetterRegen - 30FE2 _00E_MQ11a_SkyrimOvercastSnowSlow - @@ -202,7 +328,7 @@ Enderal 74545 _0E_OstBauernkueste - 74546 _0E_GraeberPfade - 76985 _00E_Farmcoast - -7761F _00E_MQP02ShipWeather HOT +7761F _00E_MQP02ShipWeather - 7D3FD _JonasWaldVersuchDUPLICATE005 - 8B19C _00E_SilberhainWetter - 962ED _00E_WesternBayWeather - @@ -224,7 +350,7 @@ F8EF4 _00E_MQ07aOldManManor - 106723 _00E_MQ07aVisionWeatherRain - 10674E _00E_MQ07aVisionWeatherNoRain - 10A758 _00E_MQ07aOldManManorNoRain - -12EAB9 _00E_MQP01_Weather HOT +12EAB9 _00E_MQP01_Weather - 12ECEC SkyrimOvercastSnowKristallwald - 13706E EnderalClearNoClouds - 14BDDC _00E_Test_Weather_02 -