From 8fa0d0eb976994b454730073e7fdcd1f838e44df Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 7 Apr 2019 17:48:26 +0200 Subject: [PATCH] MariENB FO4 3.1.0b --- enbseries.ini | 366 ++++++++++++++----------- enbseries/VERSION | 1 + enbseries/_coldweather.ini | 41 +++ enbseries/_hotweather.ini | 41 +++ enbseries/_weatherlist.ini | 2 +- enbseries/enbadaptation.fx | 2 +- enbseries/enbbloom.fx | 59 +++- enbseries/enbbloom.fx.ini | 71 ++--- enbseries/enbdepthoffield.fx | 420 ++++++++++++++--------------- enbseries/enbdepthoffield.fx.ini | 86 +++--- enbseries/enbeffect.fx | 109 +++++++- enbseries/enbeffect.fx.ini | 92 +++---- enbseries/enbeffectpostpass.fx | 2 +- enbseries/enbeffectpostpass.fx.ini | 6 +- enbseries/menbglobaldefs.fx | 4 +- enbseries/menbweatherinfo.txt | 10 +- 16 files changed, 772 insertions(+), 540 deletions(-) create mode 100644 enbseries/VERSION diff --git a/enbseries.ini b/enbseries.ini index acfa5be..92b6ee5 100644 --- a/enbseries.ini +++ b/enbseries.ini @@ -22,18 +22,18 @@ GammaCurve=1.0 [TIMEOFDAY] DawnDuration=2.0 -SunriseTime=7.0 -DayTime=13.0 -SunsetTime=19.0 +SunriseTime=6.0 +DayTime=12.0 +SunsetTime=18.0 DuskDuration=2.0 -NightTime=1.0 +NightTime=0.0 [ADAPTATION] -AdaptationSensitivity=0.35 -AdaptationTime=2.2 +AdaptationSensitivity=0.2 +AdaptationTime=0.65 ForceMinMaxValues=false AdaptationMin=0.0 -AdaptationMax=1.0 +AdaptationMax=0.25 [DEPTHOFFIELD] FocusingTime=0.4 @@ -64,116 +64,116 @@ AmountInteriorNight=1.0 [SKY] IgnoreWeatherSystem=true Enable=true -GradientIntensityDawn=0.91 -GradientIntensitySunrise=0.97 -GradientIntensityDay=1.01 -GradientIntensitySunset=0.970001 -GradientIntensityDusk=0.930001 -GradientIntensityNight=0.940001 -GradientIntensityInteriorDay=1.02 -GradientIntensityInteriorNight=0.9 -GradientDesaturationDawn=0.0 -GradientDesaturationSunrise=0.0 -GradientDesaturationDay=0.0 -GradientDesaturationSunset=0.0 -GradientDesaturationDusk=0.0 -GradientDesaturationNight=0.0 -GradientDesaturationInteriorDay=0.0 -GradientDesaturationInteriorNight=0.0 +GradientIntensityDawn=1.17 +GradientIntensitySunrise=1.11 +GradientIntensityDay=1.15 +GradientIntensitySunset=1.110001 +GradientIntensityDusk=1.160001 +GradientIntensityNight=1.140001 +GradientIntensityInteriorDay=1.12 +GradientIntensityInteriorNight=1.14 +GradientDesaturationDawn=0.65 +GradientDesaturationSunrise=0.5 +GradientDesaturationDay=0.38 +GradientDesaturationSunset=0.51 +GradientDesaturationDusk=0.63 +GradientDesaturationNight=0.49 +GradientDesaturationInteriorDay=0.22 +GradientDesaturationInteriorNight=0.42 GradientTopIntensityDawn=0.59 -GradientTopIntensitySunrise=0.77 -GradientTopIntensityDay=0.980001 -GradientTopIntensitySunset=0.78 +GradientTopIntensitySunrise=0.74 +GradientTopIntensityDay=0.920001 +GradientTopIntensitySunset=0.72 GradientTopIntensityDusk=0.52 GradientTopIntensityNight=0.43 GradientTopIntensityInteriorDay=0.97 -GradientTopIntensityInteriorNight=0.97 +GradientTopIntensityInteriorNight=0.48 GradientTopCurveDawn=0.87 GradientTopCurveSunrise=0.82 -GradientTopCurveDay=0.95 +GradientTopCurveDay=0.97 GradientTopCurveSunset=0.88 GradientTopCurveDusk=0.86 GradientTopCurveNight=0.89 GradientTopCurveInteriorDay=0.98 -GradientTopCurveInteriorNight=0.67 -GradientTopColorFilterDawn=0.984, 0.757, 0.925 -GradientTopColorFilterSunrise=0.973, 0.765, 0.706 -GradientTopColorFilterDay=0.969, 0.871, 0.812 -GradientTopColorFilterSunset=0.961, 0.702, 0.663 -GradientTopColorFilterDusk=0.969, 0.812, 0.878 -GradientTopColorFilterNight=0.816, 0.8, 0.839 -GradientTopColorFilterInteriorDay=0.996, 0.886, 0.808 -GradientTopColorFilterInteriorNight=0.871, 0.843, 0.898 +GradientTopCurveInteriorNight=0.82 +GradientTopColorFilterDawn=0.886, 0.773, 0.969 +GradientTopColorFilterSunrise=0.812, 0.859, 0.953 +GradientTopColorFilterDay=0.941, 0.992, 0.996 +GradientTopColorFilterSunset=0.839, 0.875, 0.949 +GradientTopColorFilterDusk=0.902, 0.824, 0.965 +GradientTopColorFilterNight=0.867, 0.753, 0.886 +GradientTopColorFilterInteriorDay=0.949, 0.996, 0.992 +GradientTopColorFilterInteriorNight=0.898, 0.835, 0.906 -GradientMiddleIntensityDawn=0.71 -GradientMiddleIntensitySunrise=0.8 -GradientMiddleIntensityDay=1.11 -GradientMiddleIntensitySunset=0.94 -GradientMiddleIntensityDusk=0.73 -GradientMiddleIntensityNight=0.9 +GradientMiddleIntensityDawn=1.1 +GradientMiddleIntensitySunrise=1.13 +GradientMiddleIntensityDay=1.18 +GradientMiddleIntensitySunset=1.13 +GradientMiddleIntensityDusk=1.11 +GradientMiddleIntensityNight=1.09 GradientMiddleIntensityInteriorDay=1.1 -GradientMiddleIntensityInteriorNight=0.54 +GradientMiddleIntensityInteriorNight=1.09 GradientMiddleCurveDawn=0.86 -GradientMiddleCurveSunrise=0.89 -GradientMiddleCurveDay=0.83 +GradientMiddleCurveSunrise=0.85 +GradientMiddleCurveDay=0.72 GradientMiddleCurveSunset=0.85 GradientMiddleCurveDusk=0.8 -GradientMiddleCurveNight=0.93 -GradientMiddleCurveInteriorDay=0.89 -GradientMiddleCurveInteriorNight=0.64 -GradientMiddleColorFilterDawn=0.929, 0.812, 0.922 -GradientMiddleColorFilterSunrise=0.965, 0.792, 0.745 -GradientMiddleColorFilterDay=0.953, 0.882, 0.851 -GradientMiddleColorFilterSunset=0.969, 0.831, 0.788 -GradientMiddleColorFilterDusk=0.937, 0.741, 0.827 -GradientMiddleColorFilterNight=0.922, 0.898, 0.953 -GradientMiddleColorFilterInteriorDay=1, 0.867, 0.788 +GradientMiddleCurveNight=0.91 +GradientMiddleCurveInteriorDay=0.74 +GradientMiddleCurveInteriorNight=0.92 +GradientMiddleColorFilterDawn=0.78, 0.753, 0.988 +GradientMiddleColorFilterSunrise=0.729, 0.843, 0.988 +GradientMiddleColorFilterDay=0.847, 0.914, 0.957 +GradientMiddleColorFilterSunset=0.792, 0.835, 0.973 +GradientMiddleColorFilterDusk=0.733, 0.741, 0.984 +GradientMiddleColorFilterNight=0.871, 0.929, 0.996 +GradientMiddleColorFilterInteriorDay=0.82, 0.878, 0.969 GradientMiddleColorFilterInteriorNight=0.906, 0.882, 0.945 -GradientHorizonIntensityDawn=1.21 -GradientHorizonIntensitySunrise=1.17 -GradientHorizonIntensityDay=1.060001 -GradientHorizonIntensitySunset=1.18 -GradientHorizonIntensityDusk=1.21 -GradientHorizonIntensityNight=1.09 -GradientHorizonIntensityInteriorDay=1.1 -GradientHorizonIntensityInteriorNight=1.39 -GradientHorizonCurveDawn=0.43 -GradientHorizonCurveSunrise=0.57 -GradientHorizonCurveDay=0.94 -GradientHorizonCurveSunset=0.47 -GradientHorizonCurveDusk=0.51 -GradientHorizonCurveNight=0.88 -GradientHorizonCurveInteriorDay=0.86 -GradientHorizonCurveInteriorNight=0.65 -GradientHorizonColorFilterDawn=0.878, 0.8, 0.82 -GradientHorizonColorFilterSunrise=0.953, 0.769, 0.639 -GradientHorizonColorFilterDay=0.98, 0.898, 0.863 -GradientHorizonColorFilterSunset=0.914, 0.737, 0.647 -GradientHorizonColorFilterDusk=0.953, 0.882, 0.875 -GradientHorizonColorFilterNight=0.812, 0.835, 0.882 -GradientHorizonColorFilterInteriorDay=0.988, 0.831, 0.753 +GradientHorizonIntensityDawn=1.11 +GradientHorizonIntensitySunrise=1.07 +GradientHorizonIntensityDay=1.050001 +GradientHorizonIntensitySunset=1.08 +GradientHorizonIntensityDusk=1.1 +GradientHorizonIntensityNight=1.03 +GradientHorizonIntensityInteriorDay=1.03 +GradientHorizonIntensityInteriorNight=1.1 +GradientHorizonCurveDawn=0.93 +GradientHorizonCurveSunrise=0.95 +GradientHorizonCurveDay=0.92 +GradientHorizonCurveSunset=0.94 +GradientHorizonCurveDusk=0.92 +GradientHorizonCurveNight=0.97 +GradientHorizonCurveInteriorDay=0.9 +GradientHorizonCurveInteriorNight=0.98 +GradientHorizonColorFilterDawn=0.757, 0.792, 0.882 +GradientHorizonColorFilterSunrise=0.875, 0.929, 0.992 +GradientHorizonColorFilterDay=0.89, 0.984, 0.961 +GradientHorizonColorFilterSunset=0.784, 0.851, 0.949 +GradientHorizonColorFilterDusk=0.882, 0.89, 0.953 +GradientHorizonColorFilterNight=0.773, 0.827, 0.929 +GradientHorizonColorFilterInteriorDay=0.788, 0.91, 0.953 GradientHorizonColorFilterInteriorNight=0.851, 0.863, 0.89 -CloudsIntensityDawn=0.78 -CloudsIntensitySunrise=0.7 -CloudsIntensityDay=0.910001 -CloudsIntensitySunset=0.610001 -CloudsIntensityDusk=0.760001 -CloudsIntensityNight=0.850001 +CloudsIntensityDawn=0.51 +CloudsIntensitySunrise=0.680001 +CloudsIntensityDay=0.880001 +CloudsIntensitySunset=0.670001 +CloudsIntensityDusk=0.490001 +CloudsIntensityNight=0.330001 CloudsIntensityInteriorDay=0.94 -CloudsIntensityInteriorNight=0.04 -CloudsCurveDawn=1.37 -CloudsCurveSunrise=1.18 -CloudsCurveDay=0.79 -CloudsCurveSunset=1.15 -CloudsCurveDusk=1.23 +CloudsIntensityInteriorNight=0.28 +CloudsCurveDawn=1.06 +CloudsCurveSunrise=1.04 +CloudsCurveDay=1.01 +CloudsCurveSunset=1.05 +CloudsCurveDusk=1.06 CloudsCurveNight=1.07 -CloudsCurveInteriorDay=1.31 -CloudsCurveInteriorNight=2.39 +CloudsCurveInteriorDay=1.01 +CloudsCurveInteriorNight=1.08 CloudsDesaturationDawn=0.34 -CloudsDesaturationSunrise=0.17 +CloudsDesaturationSunrise=0.15 CloudsDesaturationDay=0.09 CloudsDesaturationSunset=0.21 CloudsDesaturationDusk=0.39 @@ -181,30 +181,30 @@ CloudsDesaturationNight=0.16 CloudsDesaturationInteriorDay=0.14 CloudsDesaturationInteriorNight=0.16 CloudsOpacityDawn=1.13 -CloudsOpacitySunrise=0.98 -CloudsOpacityDay=0.75 -CloudsOpacitySunset=0.96 +CloudsOpacitySunrise=1.11 +CloudsOpacityDay=1.04 +CloudsOpacitySunset=1.11 CloudsOpacityDusk=1.19 CloudsOpacityNight=1.11 -CloudsOpacityInteriorDay=1.0 -CloudsOpacityInteriorNight=1.0 -CloudsColorFilterDawn=0.996, 0.816, 0.816 -CloudsColorFilterSunrise=0.992, 0.835, 0.718 -CloudsColorFilterDay=0.996, 0.918, 0.855 -CloudsColorFilterSunset=0.984, 0.737, 0.545 -CloudsColorFilterDusk=0.965, 0.729, 0.729 +CloudsOpacityInteriorDay=1.05 +CloudsOpacityInteriorNight=1.15 +CloudsColorFilterDawn=0.89, 0.816, 0.996 +CloudsColorFilterSunrise=0.733, 0.761, 0.969 +CloudsColorFilterDay=0.855, 0.929, 0.996 +CloudsColorFilterSunset=0.804, 0.89, 0.992 +CloudsColorFilterDusk=0.796, 0.773, 0.929 CloudsColorFilterNight=0.953, 0.925, 0.98 -CloudsColorFilterInteriorDay=0.953, 0.835, 0.718 +CloudsColorFilterInteriorDay=0.757, 0.875, 0.914 CloudsColorFilterInteriorNight=0.953, 0.933, 0.98 -SunIntensityDawn=4.0 -SunIntensitySunrise=6.0 -SunIntensityDay=5.0 -SunIntensitySunset=6.0 -SunIntensityDusk=4.0 -SunIntensityNight=3.0 -SunIntensityInteriorDay=5.0 -SunIntensityInteriorNight=3.0 +SunIntensityDawn=8.0 +SunIntensitySunrise=12.0 +SunIntensityDay=10.0 +SunIntensitySunset=12.0 +SunIntensityDusk=8.0 +SunIntensityNight=6.0 +SunIntensityInteriorDay=10.0 +SunIntensityInteriorNight=6.0 SunDesaturationDawn=0.0 SunDesaturationSunrise=0.0 SunDesaturationDay=0.0 @@ -213,14 +213,14 @@ SunDesaturationDusk=0.0 SunDesaturationNight=0.0 SunDesaturationInteriorDay=0.0 SunDesaturationInteriorNight=0.0 -SunColorFilterDawn=0.953, 0.098, 0.0353 -SunColorFilterSunrise=0.98, 0.455, 0.322 -SunColorFilterDay=1, 0.647, 0.38 -SunColorFilterSunset=0.969, 0.471, 0.38 -SunColorFilterDusk=0.969, 0.161, 0.161 -SunColorFilterNight=0.839, 0.0275, 0.0157 -SunColorFilterInteriorDay=0.988, 0.627, 0.369 -SunColorFilterInteriorNight=0.859, 0.0471, 0.00392 +SunColorFilterDawn=0.988, 0.333, 0.149 +SunColorFilterSunrise=0.992, 0.58, 0.388 +SunColorFilterDay=1, 0.831, 0.71 +SunColorFilterSunset=0.988, 0.58, 0.29 +SunColorFilterDusk=0.949, 0.349, 0.18 +SunColorFilterNight=0.714, 0, 0 +SunColorFilterInteriorDay=0.996, 0.827, 0.706 +SunColorFilterInteriorNight=0.694, 0.0392, 0.00392 MoonIntensityDawn=1.77 MoonIntensitySunrise=1.39 @@ -248,49 +248,91 @@ MoonColorFilterInteriorDay=1, 1, 1 MoonColorFilterInteriorNight=0.314, 0.431, 0.957 [ENVIRONMENT] IgnoreWeatherSystem=true -DirectLightingIntensityDawn=1.86 -DirectLightingIntensitySunrise=1.52 -DirectLightingIntensityDay=1.14 -DirectLightingIntensitySunset=1.58 -DirectLightingIntensityDusk=1.95 -DirectLightingIntensityNight=2.53 -DirectLightingIntensityInteriorDay=1.16 -DirectLightingIntensityInteriorNight=2.61 -DirectLightingDesaturationDawn=0.0 -DirectLightingDesaturationSunrise=0.0 -DirectLightingDesaturationDay=0.0 -DirectLightingDesaturationSunset=0.0 -DirectLightingDesaturationDusk=0.0 -DirectLightingDesaturationNight=0.0 -DirectLightingDesaturationInteriorDay=0.0 -DirectLightingDesaturationInteriorNight=0.0 -DirectLightingColorFilterDawn=0.937, 0.812, 0.914 -DirectLightingColorFilterSunrise=0.961, 0.851, 0.757 -DirectLightingColorFilterDay=0.984, 0.945, 0.867 -DirectLightingColorFilterSunset=0.988, 0.871, 0.8 -DirectLightingColorFilterDusk=0.937, 0.851, 0.863 -DirectLightingColorFilterNight=0.722, 0.706, 0.976 -DirectLightingColorFilterInteriorDay=0.973, 0.859, 0.698 -DirectLightingColorFilterInteriorNight=0.816, 0.773, 0.992 -AmbientLightingIntensityDawn=0.7 -AmbientLightingIntensitySunrise=0.83 -AmbientLightingIntensityDay=0.95 -AmbientLightingIntensitySunset=0.81 -AmbientLightingIntensityDusk=0.75 -AmbientLightingIntensityNight=0.65 -AmbientLightingIntensityInteriorDay=0.84 -AmbientLightingIntensityInteriorNight=0.66 +DirectLightingIntensityDawn=2.45 +DirectLightingIntensitySunrise=2.85 +DirectLightingIntensityDay=3.64 +DirectLightingIntensitySunset=2.75 +DirectLightingIntensityDusk=2.31 +DirectLightingIntensityNight=1.98 +DirectLightingIntensityInteriorDay=3.85 +DirectLightingIntensityInteriorNight=2.12 +DirectLightingDesaturationDawn=0.16 +DirectLightingDesaturationSunrise=0.25 +DirectLightingDesaturationDay=0.33 +DirectLightingDesaturationSunset=0.18 +DirectLightingDesaturationDusk=0.14 +DirectLightingDesaturationNight=0.08 +DirectLightingDesaturationInteriorDay=0.31 +DirectLightingDesaturationInteriorNight=0.07 +DirectLightingColorFilterDawn=0.988, 0.788, 0.761 +DirectLightingColorFilterSunrise=0.992, 0.741, 0.843 +DirectLightingColorFilterDay=0.902, 0.91, 0.98 +DirectLightingColorFilterSunset=0.984, 0.804, 0.871 +DirectLightingColorFilterDusk=0.98, 0.78, 0.745 +DirectLightingColorFilterNight=0.722, 0.71, 0.976 +DirectLightingColorFilterInteriorDay=0.941, 0.957, 0.98 +DirectLightingColorFilterInteriorNight=0.886, 0.863, 0.996 +AmbientLightingIntensityDawn=0.52 +AmbientLightingIntensitySunrise=0.61 +AmbientLightingIntensityDay=0.85 +AmbientLightingIntensitySunset=0.62 +AmbientLightingIntensityDusk=0.55 +AmbientLightingIntensityNight=0.45 +AmbientLightingIntensityInteriorDay=0.51 +AmbientLightingIntensityInteriorNight=0.35 [SSAO_SSIL] UseIndirectLighting=true -ResolutionScale=0.5 +ResolutionScale=1.0 SourceTexturesScale=0.5 -SamplingQuality=1 -SamplingRange=0.3 -AOIntensity=1.65 -AOIntensityInterior=1.35 -AOAmount=1.2 -AOAmountInterior=1.15 -ILAmount=2.4 -ILAmountInterior=2.6 +SamplingQuality=0 +SamplingRange=0.15 +AOIntensity=1.0 +AOIntensityInterior=1.0 +AOAmount=0.5 +AOAmountInterior=0.5 +ILAmount=4.0 +ILAmountInterior=4.0 AOMixingType=0 AOMixingTypeInterior=0 +[FOG] +IgnoreWeatherSystem=true +DistanceFadeDawn=1.0 +DistanceFadeSunrise=1.0 +DistanceFadeDay=1.0 +DistanceFadeSunset=1.0 +DistanceFadeDusk=1.0 +DistanceFadeNight=1.0 +DistanceFadeInteriorDay=1.0 +DistanceFadeInteriorNight=1.0 +VerticalFadeDawn=1.0 +VerticalFadeSunrise=1.0 +VerticalFadeDay=1.0 +VerticalFadeSunset=1.0 +VerticalFadeDusk=1.0 +VerticalFadeNight=1.0 +VerticalFadeInteriorDay=1.0 +VerticalFadeInteriorNight=1.0 +SunIntensityDawn=1.0 +SunIntensitySunrise=1.0 +SunIntensityDay=1.0 +SunIntensitySunset=1.0 +SunIntensityDusk=1.0 +SunIntensityNight=1.0 +SunIntensityInteriorDay=1.0 +SunIntensityInteriorNight=1.0 +SunDesaturationDawn=0.0 +SunDesaturationSunrise=0.0 +SunDesaturationDay=0.0 +SunDesaturationSunset=0.0 +SunDesaturationDusk=0.0 +SunDesaturationNight=0.0 +SunDesaturationInteriorDay=0.0 +SunDesaturationInteriorNight=0.0 +SunColorFilterDawn=1, 1, 1 +SunColorFilterSunrise=1, 1, 1 +SunColorFilterDay=1, 1, 1 +SunColorFilterSunset=1, 1, 1 +SunColorFilterDusk=1, 1, 1 +SunColorFilterNight=1, 1, 1 +SunColorFilterInteriorDay=1, 1, 1 +SunColorFilterInteriorNight=1, 1, 1 diff --git a/enbseries/VERSION b/enbseries/VERSION new file mode 100644 index 0000000..13086d1 --- /dev/null +++ b/enbseries/VERSION @@ -0,0 +1 @@ +3.1.0 BETA "Stay FROSTy" diff --git a/enbseries/_coldweather.ini b/enbseries/_coldweather.ini index 5e104ac..934b439 100644 --- a/enbseries/_coldweather.ini +++ b/enbseries/_coldweather.ini @@ -226,3 +226,44 @@ AmbientLightingIntensityDusk=1.0 AmbientLightingIntensityNight=1.0 AmbientLightingIntensityInteriorDay=1.0 AmbientLightingIntensityInteriorNight=1.0 +[FOG] +DistanceFadeDawn=1.0 +DistanceFadeSunrise=1.0 +DistanceFadeDay=1.0 +DistanceFadeSunset=1.0 +DistanceFadeDusk=1.0 +DistanceFadeNight=1.0 +DistanceFadeInteriorDay=1.0 +DistanceFadeInteriorNight=1.0 +VerticalFadeDawn=1.0 +VerticalFadeSunrise=1.0 +VerticalFadeDay=1.0 +VerticalFadeSunset=1.0 +VerticalFadeDusk=1.0 +VerticalFadeNight=1.0 +VerticalFadeInteriorDay=1.0 +VerticalFadeInteriorNight=1.0 +SunIntensityDawn=1.0 +SunIntensitySunrise=1.0 +SunIntensityDay=1.0 +SunIntensitySunset=1.0 +SunIntensityDusk=1.0 +SunIntensityNight=1.0 +SunIntensityInteriorDay=1.0 +SunIntensityInteriorNight=1.0 +SunDesaturationDawn=0.0 +SunDesaturationSunrise=0.0 +SunDesaturationDay=0.0 +SunDesaturationSunset=0.0 +SunDesaturationDusk=0.0 +SunDesaturationNight=0.0 +SunDesaturationInteriorDay=0.0 +SunDesaturationInteriorNight=0.0 +SunColorFilterDawn=1, 1, 1 +SunColorFilterSunrise=1, 1, 1 +SunColorFilterDay=1, 1, 1 +SunColorFilterSunset=1, 1, 1 +SunColorFilterDusk=1, 1, 1 +SunColorFilterNight=1, 1, 1 +SunColorFilterInteriorDay=1, 1, 1 +SunColorFilterInteriorNight=1, 1, 1 diff --git a/enbseries/_hotweather.ini b/enbseries/_hotweather.ini index 5e104ac..934b439 100644 --- a/enbseries/_hotweather.ini +++ b/enbseries/_hotweather.ini @@ -226,3 +226,44 @@ AmbientLightingIntensityDusk=1.0 AmbientLightingIntensityNight=1.0 AmbientLightingIntensityInteriorDay=1.0 AmbientLightingIntensityInteriorNight=1.0 +[FOG] +DistanceFadeDawn=1.0 +DistanceFadeSunrise=1.0 +DistanceFadeDay=1.0 +DistanceFadeSunset=1.0 +DistanceFadeDusk=1.0 +DistanceFadeNight=1.0 +DistanceFadeInteriorDay=1.0 +DistanceFadeInteriorNight=1.0 +VerticalFadeDawn=1.0 +VerticalFadeSunrise=1.0 +VerticalFadeDay=1.0 +VerticalFadeSunset=1.0 +VerticalFadeDusk=1.0 +VerticalFadeNight=1.0 +VerticalFadeInteriorDay=1.0 +VerticalFadeInteriorNight=1.0 +SunIntensityDawn=1.0 +SunIntensitySunrise=1.0 +SunIntensityDay=1.0 +SunIntensitySunset=1.0 +SunIntensityDusk=1.0 +SunIntensityNight=1.0 +SunIntensityInteriorDay=1.0 +SunIntensityInteriorNight=1.0 +SunDesaturationDawn=0.0 +SunDesaturationSunrise=0.0 +SunDesaturationDay=0.0 +SunDesaturationSunset=0.0 +SunDesaturationDusk=0.0 +SunDesaturationNight=0.0 +SunDesaturationInteriorDay=0.0 +SunDesaturationInteriorNight=0.0 +SunColorFilterDawn=1, 1, 1 +SunColorFilterSunrise=1, 1, 1 +SunColorFilterDay=1, 1, 1 +SunColorFilterSunset=1, 1, 1 +SunColorFilterDusk=1, 1, 1 +SunColorFilterNight=1, 1, 1 +SunColorFilterInteriorDay=1, 1, 1 +SunColorFilterInteriorNight=1, 1, 1 diff --git a/enbseries/_weatherlist.ini b/enbseries/_weatherlist.ini index a81aa9a..0f2bb5f 100644 --- a/enbseries/_weatherlist.ini +++ b/enbseries/_weatherlist.ini @@ -3,7 +3,7 @@ FileName=_hotweather.ini WeatherIDs=15e, 2b52a, a1588, f1033, ff98f, 1256fb, 12a18e, 1a6994, 1bd481, 1c3d5e, 1d670e, 1eb2ff, 1f61fd, 211221, 216a98, 21a563, 21a564, 222394, 2385fd, 2392a3, 2392a4, 2392a6, 23ab9c, 2486a4, 74c6, 247b6, 45f6f, 56638 [WEATHER002] FileName=_coldweather.ini -WeatherIDs=10f781, 1209af, 1c3473, 1ca7e4, 1cd096, 2115d7, 22239a, 225922, 2392a2, 2486a5, 74f2, 74f5, 74fa, 7fba, 427eb, 5d0c4, 859, 85a, 862, 864, 865 +WeatherIDs=10f781, 1209af, 1c3473, 1ca7e4, 1cd096, 2115d7, 22239a, 225922, 2392a2, 2486a5, 74f2, 74f5, 74fa, 7fba, 427eb, 5d0c4 [WEATHER003] FileName= [WEATHER004] diff --git a/enbseries/enbadaptation.fx b/enbseries/enbadaptation.fx index 4b0beef..985789d 100644 --- a/enbseries/enbadaptation.fx +++ b/enbseries/enbadaptation.fx @@ -1,6 +1,6 @@ /* enbadaptation.fx : MariENB3 eye adaptation shader. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ diff --git a/enbseries/enbbloom.fx b/enbseries/enbbloom.fx index f719ad8..805a739 100644 --- a/enbseries/enbbloom.fx +++ b/enbseries/enbbloom.fx @@ -1,6 +1,6 @@ /* enbbloom.fx : MariENB3 bloom shader. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ @@ -107,6 +107,13 @@ float bloomradiusy string UIWidget = "Spinner"; float UIMin = 0.0; > = {1.0}; +float bloomtheta +< + string UIName = "Bloom Angle"; + string UIWidget = "Spinner"; + float UIMin = 0.0; + float UIMax = 1.0; +> = {0.0}; /* bloom tint/blueshift parameters */ float3 blu_n < @@ -313,7 +320,17 @@ float dirtmixs string UIName = "Dirt Single Pass Blend"; string UIWidget = "Spinner"; > = {1.0}; +float dirtsaturation +< + string UIName = "Dirt Saturation"; + string UIWidget = "Spinner"; +> = {1.0}; float ldirtpow +< + string UIName = "Dirt Texture Contrast"; + string UIWidget = "Spinner"; +> = {1.25}; +float dirtpow < string UIName = "Dirt Contrast"; string UIWidget = "Spinner"; @@ -324,6 +341,7 @@ float ldirtfactor string UIWidget = "Spinner"; > = {1.5}; + /* gaussian blur matrices */ /* radius: 4, std dev: 1.5 */ /*static const float gauss4[4] = @@ -337,7 +355,7 @@ static const float gauss8[8] = 0.055335, 0.033562, 0.018216, 0.008847 }; /* radius: 40, std dev: 15 */ -static const float gauss40[40] = +/*static const float gauss40[40] = { 0.026823, 0.026763, 0.026585, 0.026291, 0.025886, 0.025373, 0.024760, 0.024055, @@ -349,9 +367,9 @@ static const float gauss40[40] = 0.004697, 0.004139, 0.003630, 0.003170, 0.002756, 0.002385, 0.002055, 0.001763, 0.001506, 0.001280, 0.001084, 0.000913 -}; +};*/ /* radius: 80, std dev: 30 */ -/*static const float gauss80[80] = +static const float gauss80[80] = { 0.013406, 0.013398, 0.013376, 0.013339, 0.013287, 0.013221, 0.013140, 0.013046, 0.012938, 0.012816, 0.012681, 0.012534, @@ -367,7 +385,9 @@ static const float gauss40[40] = 0.001192, 0.001107, 0.001027, 0.000952, 0.000881, 0.000815, 0.000753, 0.000694, 0.000640, 0.000589, 0.000542, 0.000497, 0.000456, 0.000418 -};*/ +}; +/* mathematical constants */ +static const float pi = 3.1415926535898; float4 ScreenSize; float ENightDayFactor; @@ -498,7 +518,6 @@ float4 PS_Downsize( VS_OUTPUT_POST IN, float4 v0 : SV_Position0, /* Anamorphic bloom step. Secondary bloom stretched along an axis. - Currently horizontal only, but directional options will be added eventually. I've seen that some ENBs do something almost-maybe-possibly-slightly-similar they call "anamorphic lens flare", which has an ass-backwards-retarded @@ -515,11 +534,13 @@ float4 Anamorphic( float2 coord, Texture2D intex, float insz ) int i; float sum = 0.0; float2 pp; - [unroll] for ( i=-39; i<=39; i++ ) + float2 dir = float2(cos(bloomtheta*2*pi),sin(bloomtheta*2*pi)) + *flen/insz; + [unroll] for ( i=-79; i<=79; i++ ) { - pp = coord+(float2(i,0.0)/insz)*flen; - res += gauss40[abs(i)]*intex.Sample(Sampler,pp); - sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss40[abs(i)]:0.0; + pp = coord+dir*i; + res += gauss80[abs(i)]*intex.Sample(Sampler,pp); + sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss80[abs(i)]:0.0; } res *= 1.0/sum; float3 flu = tod_ind(flu); @@ -542,9 +563,11 @@ float4 PS_HorizontalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0, int i; float sum = 0.0; float2 pp; + float2 dir = float2(cos(bloomtheta*2*pi),sin(bloomtheta*2*pi)) + *bloomradiusx/insz; [unroll] for ( i=-7; i<=7; i++ ) { - pp = coord+float2(i*bloomradiusx,0.0)/(insz*ScreenSize.z); + pp = coord+dir*i; res += gauss8[abs(i)]*intex.Sample(Sampler,pp); sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss8[abs(i)]:0.0; } @@ -566,9 +589,11 @@ float4 PS_VerticalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0, int i; float sum = 0.0; float2 pp; + float2 dir = float2(sin(bloomtheta*2*pi),-cos(bloomtheta*2*pi)) + *bloomradiusy/insz; [unroll] for ( i=-7; i<=7; i++ ) { - pp = coord+float2(0.0,i*bloomradiusy)/insz; + pp = coord+dir*i; res += gauss8[abs(i)]*intex.Sample(Sampler,pp); sum += ((pp.y>=0.0)&&(pp.y<1.0))?gauss8[abs(i)]:0.0; } @@ -611,7 +636,10 @@ float4 PS_PostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target mud += dirtmix5*RenderTarget64.Sample(Sampler2,coord); mud += dirtmix6*RenderTarget32.Sample(Sampler2,coord); mud.rgb /= 6.0; - mud.rgb = clamp(mud.rgb,0.0,32768.0); + float3 hsv = rgb2hsv(mud.rgb); + hsv.y = clamp(hsv.y*dirtsaturation,0.0,1.0); + mud.rgb = clamp(hsv2rgb(hsv),0.0,32768.0); + mud.rgb = pow(mud.rgb,dirtpow); float mudmax = luminance(mud.rgb); float mudn = max(mudmax/(1.0+mudmax),0.0); mudn = pow(mudn,max(ldirtpow-crap.a,0.0)); @@ -635,7 +663,10 @@ float4 PS_SPostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target #endif float4 crap = TextureLens.Sample(SamplerLens,ccoord); float4 mud = dirtmixs*RenderTarget32.Sample(Sampler2,coord); - mud.rgb = clamp(mud.rgb,0.0,32768.0); + mud.rgb = pow(mud.rgb,dirtpow); + float3 hsv = rgb2hsv(mud.rgb); + hsv.y = clamp(hsv.y*dirtsaturation,0.0,1.0); + mud.rgb = clamp(hsv2rgb(hsv),0.0,32768.0); float mudmax = luminance(mud.rgb); float mudn = max(mudmax/(1.0+mudmax),0.0); mudn = pow(mudn,max(ldirtpow-crap.a,0.0)); diff --git a/enbseries/enbbloom.fx.ini b/enbseries/enbbloom.fx.ini index a81f9bb..110c042 100644 --- a/enbseries/enbbloom.fx.ini +++ b/enbseries/enbbloom.fx.ini @@ -1,17 +1,17 @@ [ENBBLOOM.FX] -TECHNIQUE=2 -Bloom Intensity Night=0.78 -Bloom Intensity Day=0.67 -Bloom Intensity Interior=0.8 -Bloom Contrast Night=0.88 -Bloom Contrast Day=0.98 -Bloom Contrast Interior=0.84 -Bloom Saturation Night=0.87 -Bloom Saturation Day=0.81 -Bloom Saturation Interior=0.79 -Bloom Offset Night=-0.14 -Bloom Offset Day=-0.23 -Bloom Offset Interior=-0.09 +TECHNIQUE=1 +Bloom Intensity Night=0.69 +Bloom Intensity Day=0.57 +Bloom Intensity Interior=0.61 +Bloom Contrast Night=1.0 +Bloom Contrast Day=1.02 +Bloom Contrast Interior=1.02 +Bloom Saturation Night=1.05 +Bloom Saturation Day=1.03 +Bloom Saturation Interior=1.04 +Bloom Offset Night=-0.05 +Bloom Offset Day=-0.09 +Bloom Offset Interior=-0.07 Bloom Intensity Cap Night=1.0 Bloom Intensity Cap Day=1.0 Bloom Intensity Cap Interior=1.0 @@ -21,13 +21,13 @@ Blue Shift Day=0.22, 0.537, 0.855 Blue Shift Interior=0.337, 0.525, 0.878 Blue Shift Intensity Night=0.96 Blue Shift Intensity Day=0.71 -Blue Shift Intensity Interior=0.88 +Blue Shift Intensity Interior=0.97 Blue Shift Luminance Factor Per-pass=0.31 Blue Shift Color Factor Per-pass=0.79 Enable Anamorphic Bloom=true -Anamorphic Bloom Blend Night=0.95 -Anamorphic Bloom Blend Day=0.7 -Anamorphic Bloom Blend Interior=0.91 +Anamorphic Bloom Blend Night=0.57 +Anamorphic Bloom Blend Day=0.44 +Anamorphic Bloom Blend Interior=0.47 Anamorphic Bloom Blue Shift Night=0.553, 0.404, 0.851 Anamorphic Bloom Blue Shift Day=0.424, 0.384, 0.831 Anamorphic Bloom Blue Shift Interior=0.537, 0.475, 0.89 @@ -36,7 +36,7 @@ Anamorphic Bloom Blue Shift Intensity Day=1.59 Anamorphic Bloom Blue Shift Intensity Interior=1.86 Anamorphic Bloom Contrast Night=0.95 Anamorphic Bloom Contrast Day=1.0 -Anamorphic Bloom Contrast Interior=0.92 +Anamorphic Bloom Contrast Interior=0.82 Anamorphic Bloom Radius Multiplier=1.0 Bloom Intensity Interior Night=1.33 Bloom Intensity Interior Day=1.26 @@ -80,22 +80,25 @@ Anamorphic Bloom Blue Shift Interior Night=1.86 Anamorphic Bloom Blue Shift Interior Day=1.86 Anamorphic Bloom Contrast Interior Night=1.12 Anamorphic Bloom Contrast Interior Day=1.22 -Bloom Pass 1 Blend=0.18 -Bloom Pass 2 Blend=0.32 -Bloom Pass 3 Blend=0.45 -Bloom Pass 4 Blend=0.63 -Bloom Pass 5 Blend=0.84 -Bloom Pass 6 Blend=0.98 +Bloom Pass 1 Blend=0.34 +Bloom Pass 2 Blend=0.59 +Bloom Pass 3 Blend=0.71 +Bloom Pass 4 Blend=0.79 +Bloom Pass 5 Blend=0.88 +Bloom Pass 6 Blend=0.94 Enable Lens Dirt=true -Dirt Pass 1 Blend=0.03 -Dirt Pass 2 Blend=0.12 -Dirt Pass 3 Blend=0.24 -Dirt Pass 4 Blend=0.4 -Dirt Pass 5 Blend=0.67 -Dirt Pass 6 Blend=5.15 -Dirt Contrast=0.91 -Dirt Factor=2.07 +Dirt Pass 1 Blend=0.08 +Dirt Pass 2 Blend=0.25 +Dirt Pass 3 Blend=0.54 +Dirt Pass 4 Blend=1.09 +Dirt Pass 5 Blend=2.71 +Dirt Pass 6 Blend=5.68 +Dirt Contrast=1.519999 +Dirt Factor=0.73 Bloom Blur Radius X=1.0 Bloom Blur Radius Y=1.0 -Bloom Single Pass Blend=0.53 -Dirt Single Pass Blend=1.13 +Bloom Single Pass Blend=0.66 +Dirt Single Pass Blend=1.64 +Dirt Saturation=0.73 +Bloom Angle=0.0 +Dirt Texture Contrast=0.72 diff --git a/enbseries/enbdepthoffield.fx b/enbseries/enbdepthoffield.fx index b840f23..8c00595 100644 --- a/enbseries/enbdepthoffield.fx +++ b/enbseries/enbdepthoffield.fx @@ -1,6 +1,6 @@ /* enbdepthoffield.fx : MariENB3 prepass shaders. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ @@ -565,23 +565,42 @@ bool dofdisable string UIName = "Disable DOF"; string UIWidget = "Checkbox"; > = {false}; -float dofbfact -< - string UIName = "DOF Bilateral Factor"; - string UIWidget = "Spinner"; -> = {20.0}; -float dofbradius -< - string UIName = "DOF Bilateral Radius"; - string UIWidget = "Spinner"; - float UIMin = 0.0; -> = {1.0}; float dofpradius < - string UIName = "DOF Gather Blur Radius"; + string UIName = "DOF Blur Radius"; string UIWidget = "Spinner"; float UIMin = 0.0; > = {6.0}; +float dofpcha +< + string UIName = "DOF Blur Chromatic Aberration"; + string UIWidget = "Spinner"; +> = {0.0}; +/* tilting */ +float doftiltxcenter +< + string UIName = "Focus Plane Horizontal Tilt Center"; + string UIWidget = "Spinner"; + float UIMin = 0.0; + float UIMax = 1.0; +> = {0.5}; +float doftiltycenter +< + string UIName = "Focus Plane Vertical Tilt Center"; + string UIWidget = "Spinner"; + float UIMin = 0.0; + float UIMax = 1.0; +> = {0.5}; +float doftiltx +< + string UIName = "Focus Plane Horizontal Tilt"; + string UIWidget = "Spinner"; +> = {0.0}; +float doftilty +< + string UIName = "Focus Plane Vertical Tilt"; + string UIWidget = "Spinner"; +> = {0.0}; /* cheap performance option */ float dofminblur < @@ -768,16 +787,6 @@ bool ssaodebug string UIName = "Debug SSAO"; string UIWidget = "Checkbox"; > = {false}; -bool ssaoquarter -< - string UIName = "SSAO Use Less Samples"; - string UIWidget = "Checkbox"; -> = {true}; -bool ssaohalfblur -< - string UIName = "SSAO Blur Use Less Samples"; - string UIWidget = "Checkbox"; -> = {true}; /* mathematical constants */ static const float pi = 3.1415926535898; @@ -795,12 +804,6 @@ static const float3x3 GY = 0, 0, 0, -1,-2,-1 }; -/* radius: 8, std dev: 6 */ -static const float gauss8[8] = -{ - 0.084247, 0.083085, 0.079694, 0.074348, - 0.067460, 0.059533, 0.051099, 0.042657 -}; /* radius: 16, std dev: 13 */ static const float gauss16[16] = { @@ -810,7 +813,7 @@ static const float gauss16[16] = 0.026131, 0.024268, 0.022405, 0.020563 }; /* SSAO samples */ -static const float3 ssao_samples_lq[16] = +static const float3 ssao_samples[16] = { float3( 0.0000,-0.0002, 0.0000),float3(-0.0004, 0.0013, 0.0014), float3(-0.0030, 0.0048,-0.0034),float3( 0.0147, 0.0046,-0.0026), @@ -821,41 +824,6 @@ static const float3 ssao_samples_lq[16] = float3( 0.0072,-0.3534, 0.4035),float3(-0.0024,-0.2385, 0.6260), float3(-0.1940, 0.5722,-0.5602),float3(-0.0910,-0.7548,-0.6497) }; -static const float3 ssao_samples_hq[64] = -{ - float3( 0.0000,-0.0000,-0.0000),float3( 0.0000, 0.0000,-0.0000), - float3( 0.0001,-0.0000,-0.0000),float3( 0.0002, 0.0001,-0.0001), - float3(-0.0000,-0.0005, 0.0000),float3( 0.0004,-0.0004,-0.0006), - float3( 0.0005,-0.0011,-0.0004),float3(-0.0000, 0.0013,-0.0014), - float3( 0.0024, 0.0006, 0.0013),float3(-0.0017,-0.0017, 0.0030), - float3(-0.0037, 0.0033,-0.0011),float3( 0.0010, 0.0018,-0.0063), - float3( 0.0059, 0.0056,-0.0020),float3(-0.0009, 0.0083,-0.0063), - float3(-0.0110, 0.0065,-0.0016),float3( 0.0089, 0.0070,-0.0108), - float3(-0.0115,-0.0134,-0.0062),float3(-0.0121,-0.0172, 0.0071), - float3(-0.0066, 0.0246,-0.0060),float3( 0.0057,-0.0279, 0.0109), - float3(-0.0269,-0.0160,-0.0164),float3( 0.0402, 0.0045, 0.0034), - float3( 0.0248,-0.0045, 0.0390),float3( 0.0110,-0.0491,-0.0159), - float3(-0.0193,-0.0431, 0.0363),float3( 0.0441, 0.0271,-0.0426), - float3( 0.0385,-0.0428,-0.0482),float3(-0.0623,-0.0501, 0.0249), - float3( 0.0683,-0.0000, 0.0631),float3( 0.1008, 0.0180,-0.0114), - float3(-0.0156,-0.0713, 0.0871),float3(-0.0561,-0.0757, 0.0822), - float3( 0.0714, 0.0850,-0.0805),float3(-0.1320,-0.0042, 0.0711), - float3( 0.1553, 0.0486,-0.0167),float3(-0.1164,-0.0125,-0.1341), - float3( 0.1380,-0.1230,-0.0562),float3( 0.0868,-0.1897,-0.0175), - float3( 0.0749, 0.1495, 0.1525),float3(-0.2038,-0.1324,-0.0235), - float3( 0.0205, 0.1920, 0.1784),float3( 0.1637,-0.0964,-0.2092), - float3( 0.2875, 0.0966,-0.0020),float3( 0.0572,-0.0180,-0.3194), - float3(-0.3329, 0.0981,-0.0189),float3( 0.2627, 0.2092,-0.1585), - float3( 0.1783,-0.3359,-0.1108),float3( 0.2675, 0.2056,-0.2533), - float3(-0.1852, 0.3017,-0.2759),float3(-0.0944, 0.3532, 0.3061), - float3(-0.0022,-0.3744, 0.3404),float3(-0.0600,-0.4031,-0.3487), - float3(-0.2663, 0.4915, 0.1004),float3(-0.2442, 0.4253, 0.3468), - float3( 0.2583, 0.1321,-0.5645),float3(-0.0219, 0.4516, 0.4943), - float3(-0.5503, 0.2597,-0.3590),float3( 0.2239,-0.5571,-0.4398), - float3(-0.7210,-0.1982, 0.2339),float3( 0.7948,-0.1848, 0.1145), - float3(-0.7190, 0.1767, 0.4489),float3(-0.5617, 0.5845,-0.4116), - float3(-0.8919,-0.0384, 0.3360),float3(-0.0144, 0.9775,-0.2105) -}; /* For high quality DOF */ static const float2 poisson32[32] = { @@ -1022,9 +990,9 @@ float4 PS_SSAOPre( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target float sdepth, so, delta; float sclamp = ssaoclamp/100000.0; float sclampmin = ssaoclampmin/100000.0; - if ( ssaoquarter ) [unroll] for ( i=0; i<16; i++ ) + [unroll] for ( i=0; i<16; i++ ) { - sample = reflect(ssao_samples_lq[i],rnormal); + sample = reflect(ssao_samples[i],rnormal); sample *= sign(dot(normal,sample)); so = ldepth-sample.z*bof.x; sdepth = depthlinear(coord+bof*sample.xy/ldepth); @@ -1033,18 +1001,7 @@ float4 PS_SSAOPre( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target if ( (delta > sclampmin) && (delta < sclamp) ) occ += 1.0-delta; } - else [unroll] for ( i=0; i<64; i++ ) - { - sample = reflect(ssao_samples_hq[i],rnormal); - sample *= sign(dot(normal,sample)); - so = ldepth-sample.z*bof.x; - sdepth = depthlinear(coord+bof*sample.xy/ldepth); - delta = saturate(so-sdepth); - delta *= 1.0-smoothstep(0.0,sclamp,delta); - if ( (delta > sclampmin) && (delta < sclamp) ) - occ += 1.0-delta; - } - float uocc = saturate(occ/(ssaoquarter?16.0:64.0)); + float uocc = saturate(occ/16.0); float fade = 1.0-depth; uocc *= saturate(pow(max(0,fade),ssaofadepow)*ssaofademult); uocc = saturate(pow(max(0,uocc),ssaopow)*ssaomult); @@ -1066,17 +1023,7 @@ float4 PS_SSAOBlurH( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target float res = 0.0; int i; isd = TextureDepth.Sample(Sampler1,coord).x; - if ( ssaohalfblur ) [unroll] for ( i=-7; i<=7; i++ ) - { - sd = TextureDepth.Sample(Sampler1,coord+float2(i,0)*bof).x; - ds = 1.0/pow(1.0+abs(isd-sd),ssaobfact); - sw = ds; - sw *= gauss8[abs(i)]; - tw += sw; - res += sw*TextureColor.Sample(Sampler1,coord+float2(i,0) - *bof).x; - } - else [unroll] for ( i=-15; i<=15; i++ ) + [unroll] for ( i=-15; i<=15; i++ ) { sd = TextureDepth.Sample(Sampler1,coord+float2(i,0)*bof).x; ds = 1.0/pow(1.0+abs(isd-sd),ssaobfact); @@ -1100,17 +1047,7 @@ float4 PS_SSAOBlurV( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target float res = 0.0; int i; isd = TextureDepth.Sample(Sampler1,coord).x; - if ( ssaohalfblur ) [unroll] for ( i=-7; i<=7; i++ ) - { - sd = TextureDepth.Sample(Sampler1,coord+float2(0,i)*bof).x; - ds = 1.0/pow(1.0+abs(isd-sd),ssaobfact); - sw = ds; - sw *= gauss8[abs(i)]; - tw += sw; - res += sw*TextureColor.Sample(Sampler1,coord+float2(0,i) - *bof).x; - } - else [unroll] for ( i=-15; i<=15; i++ ) + [unroll] for ( i=-15; i<=15; i++ ) { sd = TextureDepth.Sample(Sampler1,coord+float2(0,i)*bof).x; ds = 1.0/pow(1.0+abs(isd-sd),ssaobfact); @@ -1142,6 +1079,9 @@ float4 PS_DoFPrepass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target float doffixedunfocusblend = tod_ind(doffixedunfocusblend); float dep = TextureDepth.Sample(Sampler1,coord).x; float foc = TextureFocus.Sample(Sampler1,coord).x; + /* cheap tilt */ + foc = foc+0.01*doftiltx*(doftiltxcenter-coord.x) + +0.01*doftilty*(doftiltycenter-coord.y); float dfc = abs(dep-foc); float dff = abs(dep); float dfu = dff; @@ -1342,7 +1282,8 @@ float4 PS_ReadFocus( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target mfocus[3] = 0.5*(mfocus[0]+mfocus[1]); else mfocus[3] = cstep*(mfocus[0]+mfocus[1]+mfocus[2]); if ( cfocus <= focuscenterdiscard ) cfocus = mfocus[3]; - else cfocus = (1.0-focusmix)*cfocus+focusmix*mfocus[3]; + else if ( (mfocus[3] > focuscenterdiscard) ) + cfocus = (1.0-focusmix)*cfocus+focusmix*mfocus[3]; return cfocus; } @@ -1374,8 +1315,14 @@ float4 PS_DoFBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target float4 sc; [unroll] for ( int i=0; i<32; i++ ) { - sc = TextureColor.SampleLevel(Sampler1,coord+poisson32[i]*bsz, - dfc*4.0); + sc = float4(TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz*(1+dofpcha*0.1),dfc*4.0).r, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz,dfc*4.0).g, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz*(1-dofpcha*0.1),dfc*4.0).b, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz,dfc*4.0).a); ds = TextureDepth.SampleLevel(Sampler1,coord+poisson32[i]*bsz, 0).x; sd = RenderTargetR32F.SampleLevel(Sampler1,coord+poisson32[i] @@ -1386,64 +1333,88 @@ float4 PS_DoFBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target } res /= tw; return res; - } -/* simple gaussian / bilateral blur */ -float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target +/* "bokeh" blur pass */ +float4 PS_DoFBorkeh( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target { float2 coord = IN.txcoord.xy; if ( dofdisable ) return TextureColor.Sample(Sampler1,coord); float dfc = RenderTargetR32F.Sample(Sampler1,coord).x; if ( dofdebug ) return TextureDepth.Sample(Sampler1,coord).x; if ( dfcdebug ) return dfc; - float bresl = (fixed.x>0)?fixed.x:ScreenSize.x; - float bof = (1.0/bresl)*dofbradius; - float4 res = float4(0,0,0,0); - if ( dfc <= dofminblur ) return TextureColor.Sample(Sampler1,coord); - int i; - float isd, sd, ds, sw, tw = 0; - isd = dfc; - [unroll] for ( i=-7; i<=7; i++ ) + float2 bresl; + if ( (fixed.x > 0) && (fixed.y > 0) ) bresl = fixed; + else bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w); + float2 bof = 1.0/bresl; + float4 res = TextureColor.Sample(Sampler1,coord); + /* + Skip blurring areas that are perfectly in focus. The performance + gain is negligible in most cases, though. + */ + if ( dfc <= dofminblur ) return res; + float dep = TextureDepth.Sample(Sampler1,coord).x; + float sr = dofpradius*dfc; + float w = max(0,(1/(sr*sr+1))*luminance(res.rgb+0.01)); + res *= w; + float tw = w; + float2 bsz = bof*sr; + float4 pc; + float sc, ds; + [unroll] for ( int i=0; i<32; i++ ) { - sd = RenderTargetR32F.SampleLevel(Sampler1,coord+float2(i,0) - *bof*dfc,0).x; - ds = abs(isd-sd)*dofbfact+0.5; - sw = 1.0/(ds+1.0); - sw *= gauss8[abs(i)]; - tw += sw; - res += sw*TextureColor.SampleLevel(Sampler1,coord+float2(i,0) - *bof*dfc,0); + pc = float4(TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz*(1+dofpcha*0.1),dfc*4.0).r, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz,dfc*4.0).g, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz*(1-dofpcha*0.1),dfc*4.0).b, + TextureColor.SampleLevel(Sampler1,coord + +poisson32[i]*bsz,dfc*4.0).a); + ds = TextureDepth.SampleLevel(Sampler1,coord+poisson32[i]*bsz, + 0).x; + sc = abs(pc.a*dofpradius); + if ( sr < 0.0 ) sc = max(abs(sr),sc); + w = (1.0/(pow(sc,2)+1))*luminance(pc.rgb+0.01); + w *= saturate(1-smoothstep(sc,sc*1.1,length(poisson32[i]*bsz) + *abs(sr))); + w *= (ds>dep)?1.0:sc; + res += pc*w; + tw += w; } res /= tw; return res; } -float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target +float4 PS_DoFBorkehB( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target { float2 coord = IN.txcoord.xy; if ( dofdisable ) return TextureColor.Sample(Sampler1,coord); float dfc = RenderTargetR32F.Sample(Sampler1,coord).x; if ( dofdebug ) return TextureDepth.Sample(Sampler1,coord).x; if ( dfcdebug ) return dfc; - float bresl = (fixed.y>0)?fixed.y:(ScreenSize.x*ScreenSize.w); - float bof = (1.0/bresl)*dofbradius; - float4 res = float4(0,0,0,0); - if ( dfc <= dofminblur ) return TextureColor.Sample(Sampler1,coord); - int i; - float isd, sd, ds, sw, tw = 0; - isd = dfc; - [unroll] for ( i=-7; i<=7; i++ ) + float2 bresl; + if ( (fixed.x > 0) && (fixed.y > 0) ) bresl = fixed; + else bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w); + float2 bof = 1.0/bresl; + float2 ofs[16] = { - sd = RenderTargetR32F.SampleLevel(Sampler1,coord+float2(0,i) - *bof*dfc,0).x; - ds = abs(isd-sd)*dofbfact+0.5; - sw = 1.0/(ds+1.0); - sw *= gauss8[abs(i)]; - tw += sw; - res += sw*TextureColor.SampleLevel(Sampler1,coord+float2(0,i) - *bof*dfc,0); - } - res /= tw; + float2(1.0,1.0), float2(-1.0,-1.0), + float2(-1.0,1.0), float2(1.0,-1.0), + + float2(1.0,0.0), float2(-1.0,0.0), + float2(0.0,1.0), float2(0.0,-1.0), + + float2(1.41,0.0), float2(-1.41,0.0), + float2(0.0,1.41), float2(0.0,-1.41), + + float2(1.41,1.41), float2(-1.41,-1.41), + float2(-1.41,1.41), float2(1.41,-1.41) + }; + float4 res = TextureColor.Sample(Sampler1,coord); + int i; + [unroll] for ( i=0; i<16; i++ ) + res += TextureColor.Sample(Sampler1,coord+ofs[i]*bof*dfc); + res /= 17.0; return res; } @@ -1549,88 +1520,7 @@ technique11 Focus } } -technique11 PrepassNB -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_SSAOPre())); - } -} -technique11 PrepassNB1 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurH())); - } -} -technique11 PrepassNB2 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurV())); - } -} -technique11 PrepassNB3 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_DoFPrepass())); - } -} -technique11 PrepassNB4 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_SSAOApply())); - } -} -technique11 PrepassNB5 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_Edge())); - } -} -technique11 PrepassNB6 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_Distortion())); - } -} -technique11 PrepassNB7 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_DoFBlurH())); - } -} -technique11 PrepassNB8 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_DoFBlurV())); - } -} -technique11 PrepassNB9 -{ - pass p0 - { - SetVertexShader(CompileShader(vs_5_0,VS_Quad())); - SetPixelShader(CompileShader(ps_5_0,PS_FrostPass())); - } -} - -technique11 Prepass +technique11 Prepass { pass p0 { @@ -1702,3 +1592,85 @@ technique11 Prepass8 SetPixelShader(CompileShader(ps_5_0,PS_FrostPass())); } } + +technique11 PrepassB +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_SSAOPre())); + } +} +technique11 PrepassB1 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurH())); + } +} +technique11 PrepassB2 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurV())); + } +} +technique11 PrepassB3 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_DoFPrepass())); + } +} +technique11 PrepassB4 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_SSAOApply())); + } +} +technique11 PrepassB5 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_Edge())); + } +} +technique11 PrepassB6 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_Distortion())); + } +} +technique11 PrepassB7 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_DoFBorkeh())); + } +} +technique11 PrepassB8 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_DoFBorkehB())); + } +} +technique11 PrepassB9 +{ + pass p0 + { + SetVertexShader(CompileShader(vs_5_0,VS_Quad())); + SetPixelShader(CompileShader(ps_5_0,PS_FrostPass())); + } +} + diff --git a/enbseries/enbdepthoffield.fx.ini b/enbseries/enbdepthoffield.fx.ini index 0ebf275..dabc8b9 100644 --- a/enbseries/enbdepthoffield.fx.ini +++ b/enbseries/enbdepthoffield.fx.ini @@ -1,18 +1,18 @@ [ENBDEPTHOFFIELD.FX] -TECHNIQUE=2 +TECHNIQUE=1 Fixed Resolution Width=1920 Fixed Resolution Height=1080 Depth Cutoff=999998.0 Near Z=0.05 Far Z=3098.0 -Distortion Chromatic Aberration=27.4 +Distortion Chromatic Aberration=9.5 Enable Underwater=false Underwater Frequency=2.36, 3.39, 2.72 Underwater Speed=24.3, 21.9, 26.5 Underwater Amplitude=0.1, 0.11, 0.07 Underwater Zoom=0.15 Always Underwater=false -Enable Hot Air Refraction=true +Enable Hot Air Refraction=false Heat Texture Size=6.4 Heat Speed=0.45 Heat Fade Contrast=235.0 @@ -22,15 +22,15 @@ Heat Intensity=0.6 Heat Contrast=0.95 Heat Time-of-day Contrast=0.5 Heat Always Enable=true -Enable Screen Frost=false -Frost Contrast=1.1 -Frost Strength=0.05 -Frost Radial Contrast=0.8 -Frost Radial Intensity=1.2 -Frost Radial Offset=-0.9 -Frost Texture Blend=3.72 -Frost Texture Blend Contrast=4.52 -Frost Texture Size=1.0 +Enable Screen Frost=true +Frost Contrast=1.26 +Frost Strength=0.03 +Frost Radial Contrast=1.69 +Frost Radial Intensity=0.83 +Frost Radial Offset=-0.67 +Frost Texture Blend=0.97 +Frost Texture Blend Contrast=2.42 +Frost Texture Size=0.8 Frost Indoor Factor=0.0 Frost Night Factor=0.0 Frost Always Enable=true @@ -40,9 +40,9 @@ Enable Manual Focus=false Manual Focus Depth=0.8 Focus Point Center=0.5, 0.48, 0 Focus Triangle Angle=0.5 -Focus Triangle Radius Night=7.0 +Focus Triangle Radius Night=9.0 Focus Triangle Radius Day=12.0 -Focus Triangle Radius Interior=9.0 +Focus Triangle Radius Interior=10.5 Focus Triangle Blending Night=0.6 Focus Triangle Blending Day=0.7 Focus Triangle Blending Interior=0.6 @@ -70,19 +70,19 @@ DOF Fixed Focus Shift Interior=-0.01 DOF Fixed Focus Blend Night=1.0 DOF Fixed Focus Blend Day=1.0 DOF Fixed Focus Blend Interior=1.0 -DOF Fixed Unfocus Intensity Night=1.5 -DOF Fixed Unfocus Intensity Day=1.6 -DOF Fixed Unfocus Intensity Interior=1.5 -DOF Fixed Unfocus Contrast Night=480.0 -DOF Fixed Unfocus Contrast Day=450.0 -DOF Fixed Unfocus Contrast Interior=350.0 -DOF Fixed Unfocus Shift Night=-1.1 -DOF Fixed Unfocus Shift Day=-1.25 -DOF Fixed Unfocus Shift Interior=-1.0 +DOF Fixed Unfocus Intensity Night=1.2 +DOF Fixed Unfocus Intensity Day=1.4 +DOF Fixed Unfocus Intensity Interior=1.3 +DOF Fixed Unfocus Contrast Night=125.0 +DOF Fixed Unfocus Contrast Day=220.0 +DOF Fixed Unfocus Contrast Interior=165.0 +DOF Fixed Unfocus Shift Night=-0.6 +DOF Fixed Unfocus Shift Day=-0.9 +DOF Fixed Unfocus Shift Interior=-0.75 DOF Fixed Unfocus Blend Night=1.0 DOF Fixed Unfocus Blend Day=1.0 DOF Fixed Unfocus Blend Interior=1.0 -DOF Fixed Use Cutoff=true +DOF Fixed Use Cutoff=false Disable DOF=false DOF Gather Blur Radius=8.0 Debug Depth=false @@ -97,8 +97,8 @@ Edgevision Fade Intensity Interior=600.0 Edgevision Contrast=0.25 Edgevision Intensity=1.0 Edgevision Radius=1.0 -Enable SSAO=true -SSAO Radius=0.15 +Enable SSAO=false +SSAO Radius=0.05 SSAO Noise=0 SSAO Fade Contrast Night=0.9 SSAO Fade Contrast Day=0.8 @@ -106,8 +106,8 @@ SSAO Fade Contrast Interior=0.85 SSAO Fade Intensity Night=10.5 SSAO Fade Intensity Day=12.5 SSAO Fade Intensity Interior=11.5 -SSAO Intensity=1.2 -SSAO Contrast=0.65 +SSAO Intensity=3.0 +SSAO Contrast=1.5 SSAO Blending=0.8 SSAO Blur=true SSAO Bilateral Factor=1500.0 @@ -168,19 +168,25 @@ SSAO Fade Intensity Interior Day=11.5 Fixed ResolutionX=1920 Fixed ResolutionY=1080 DOF Minimum Blur=0.01 -Heat Factor Dawn=0.15 -Heat Factor Sunrise=0.59 -Heat Factor Day=0.89 -Heat Factor Sunset=0.67 -Heat Factor Dusk=0.13 +Heat Factor Dawn=0.32 +Heat Factor Sunrise=0.83 +Heat Factor Day=1.06 +Heat Factor Sunset=0.85 +Heat Factor Dusk=0.38 Heat Factor Night=0.0 Heat Factor Interior=0.0 -Frost Factor Dawn=0.0 -Frost Factor Sunrise=0.0 -Frost Factor Day=0.0 -Frost Factor Sunset=0.0 -Frost Factor Dusk=0.0 -Frost Factor Night=1.0 -Frost Factor Interior=0.0 +Frost Factor Dawn=0.93 +Frost Factor Sunrise=0.74 +Frost Factor Day=0.62 +Frost Factor Sunset=0.77 +Frost Factor Dusk=0.94 +Frost Factor Night=1.16 +Frost Factor Interior=0.27 DOF Bilateral Factor=20.0 DOF Bilateral Radius=1.0 +DOF Blur Radius=6.0 +DOF Blur Chromatic Aberration=1.5 +Focus Plane Horizontal Tilt Center=0.5 +Focus Plane Vertical Tilt Center=0.5 +Focus Plane Horizontal Tilt=0.0 +Focus Plane Vertical Tilt=0.0 diff --git a/enbseries/enbeffect.fx b/enbseries/enbeffect.fx index ce179d0..b275d81 100644 --- a/enbseries/enbeffect.fx +++ b/enbseries/enbeffect.fx @@ -1,6 +1,6 @@ /* enbeffect.fx : MariENB3 base shader. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ @@ -348,7 +348,8 @@ bool colorizeafterhsv < string UIName = "Colorize After HSV"; string UIWidget = "Checkbox"; -> = {true};/* LUT grading */ +> = {true}; +/* LUT grading */ string str_lut = "RGB Lookup Table Grading"; bool lutenable < @@ -379,6 +380,20 @@ int clut int UIMax = 63; > = {1}; #endif +/* technicolor shader */ +string str_tech = "Technicolor"; +bool techenable +< + string UIName = "Enable Technicolor"; + string UIWidget = "Checkbox"; +> = {false}; +float techblend +< + string UIName = "Technicolor Blend"; + string UIWidget = "Spinner"; + float UIMin = 0.0; + float UIMax = 1.0; +> = {1.0}; string str_dither = "Dithering"; bool dodither < @@ -458,7 +473,11 @@ float EInteriorFactor; float4 TimeOfDay1; float4 TimeOfDay2; +#ifdef SKYRIMSE +float4 Params01[7]; +#else float4 Params01[6]; +#endif float4 ENBParams01; Texture2D TextureColor; Texture2D TextureBloom; @@ -645,6 +664,16 @@ float3 GradingLUT( float3 res ) float lutblend = tod_ind(lutblend); return lerp(res,tcol,lutblend); } +/* I think this Technicolor implementation is correct... maybe */ +float3 Technicolor( float3 res ) +{ + res = clamp(res,0.0,1.0); + float red = 1.0-(res.r-(res.g+res.b)*0.5); + float green = 1.0-(res.g-(res.r+res.b)*0.5); + float blue = 1.0-(res.b-(res.r+res.g)*0.5); + float3 tint = float3(green*blue,red*blue,red*green)*res; + return lerp(res,res+0.5*(tint-res),techblend); +} /* post-pass dithering, something apparently only my ENB does */ float3 Dither( float3 res, float2 coord ) { @@ -716,7 +745,24 @@ float3 FilmGrain( float3 res, float2 coord ) float4 PS_Draw( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target { + float2 coord = IN.txcoord0.xy; float4 res; +#ifdef SKYRIMSE + res = TextureColor.Sample(Sampler0,coord) + +TextureBloom.Sample(Sampler1,coord)*ENBParams01.x; + /* Luckily I could sort of interpret some of the vanilla grading */ + float val = luminance(res.rgb); + float adapt = TextureAdaptation.Sample(Sampler1,coord).x; + float4 tint; + res -= val; + res = Params01[3].x*res+val; + tint = Params01[4]*val-res; + res = Params01[4].w*tint+res; + res = Params01[3].w*res-adapt; + res = Params01[3].z*res+adapt; + if ( bloomdebug ) res = TextureBloom.Sample(Sampler1,coord) + *ENBParams01.x; +#else float4 color; color = TextureColor.Sample(Sampler0,IN.txcoord0.xy); float4 r0, r1, r2, r3; @@ -754,10 +800,10 @@ float4 PS_Draw( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target color.xyz = pow(color.xyz,1.0/2.2); res.xyz = max(0,color.xyz); res.w = 1.0; - /* Insert MariENB filters here */ - float2 coord = IN.txcoord0.xy; if ( bloomdebug ) res = TextureBloom.Sample(Sampler1,Params01[4].zw *coord)*ENBParams01.x; +#endif + /* Insert MariENB filters here */ if ( tmapenable ) res.rgb = Tonemap(res.rgb); if ( gradeenable1 ) res.rgb = GradingRGB(res.rgb); if ( colorizeafterhsv ) @@ -771,6 +817,7 @@ float4 PS_Draw( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target if ( gradeenable3 ) res.rgb = GradingHSV(res.rgb); } if ( lutenable ) res.rgb = GradingLUT(res.rgb); + if ( techenable ) res.rgb = Technicolor(res.rgb); if ( ne ) res.rgb = FilmGrain(res.rgb,coord); if ( adaptdebug ) res.rgb = TextureAdaptation.Sample(Sampler1,coord).x; if ( dodither ) res.rgb = Dither(res.rgb,coord); @@ -785,6 +832,57 @@ float4 PS_DrawOriginal( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Targe float4 color; color = TextureColor.Sample(Sampler0,IN.txcoord0.xy); float4 r0, r1, r2, r3; +#ifdef SKYRIMSE + /* + You won't believe how HARD Boris has mangled this code. + After fixing the horrid code style and the unnecessary scientific + notation on floats, it's still unreadable. + It's also completely broken and results in a black screen. + */ + float2 scaleduv=Params01[6].xy*IN.txcoord0.xy; + scaleduv = max(scaleduv, 0.0); + scaleduv = min(scaleduv, Params01[6].zy); + r1.xy = scaleduv; + r0.xyz = color.xyz; + if ( Params01[0].x > 0.5 ) r1.xy = IN.txcoord0.xy; + r1.xyz = TextureBloom.Sample(Sampler1,r1.xy).xyz; + r2.xy = TextureAdaptation.Sample(Sampler1,IN.txcoord0.xy).xy; + r0.w = dot(float3(0.2125,0.7154,0.0721),r0.xyz); + r0.w = max(r0.w,0.00001); + r1.w = r2.y/r2.x; + r2.y = r0.w*r1.w; + if ( Params01[2].z >= 0.5 ) r2.z = 0xffffffff; + else r2.z = 0; + r3.xy = r1.w*r0.w+float2(-0.004,1.0); + r1.w = max(r3.x, 0.0); + r3.xz = r1.w*6.2+float2(0.5,1.7); + r2.w = r1.w*r3.x; + r1.w = r1.w*r3.z+0.06; + r1.w = r2.w/r1.w; + r1.w = pow(r1.w,2.2); + r1.w = r1.w*Params01[2].y; + r2.w = r2.y*Params01[2].y+1.0; + r2.y = r2.w*r2.y; + r2.y = r2.y/r3.y; + if (r2.z == 0) r1.w = r2.y; + else r1.w = r1.w; + r0.w = r1.w/r0.w; + r1.w = saturate(Params01[2].x-r1.w); + r1.xyz = r1*r1.w; + r0.xyz = r0*r0.w+r1; + r1.x = dot(r0.xyz,float3(0.2125,0.7154,0.0721)); + r0.w = 1.0; + r0 = r0-r1.x; + r0 = Params01[3].x*r0+r1.x; + r1 = Params01[4]*r1.x-r0; + r0 = Params01[4].w*r1+r0; + r0 = Params01[3].w*r0-r2.x; + r0 = Params01[3].z*r0+r2.x; + r0.xyz = saturate(r0); + r1.xyz = pow(r1.xyz,Params01[6].w); + r1 = Params01[5]-r0; + res = Params01[5].w*r1+r0; +#else r0.xyz = color.xyz; r1.xy = Params01[4].zw*IN.txcoord0.xy; r1.xyz = TextureBloom.Sample(Sampler1,r1.xy).xyz; @@ -808,7 +906,7 @@ float4 PS_DrawOriginal( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Targe r1.x = r1.x*0.0408564-r3.y; r1.xyz = r0.xyz/r1.x; r0.x = dot(r1.xyz,float3(0.2125,0.7154,0.0721)); - r1.xyz = r1.xyz-r0.x; + r1.xyz = r1.xyz-r0.x; r1.xyz = Params01[2].x*r1.xyz+r0.x; r2.xyz = r0.x*Params01[3].xyz-r1.xyz; r1.xyz = Params01[3].w*r2.xyz+r1.xyz; @@ -816,6 +914,7 @@ float4 PS_DrawOriginal( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Targe r0.xyz = Params01[2].z*r1.xyz+r0.w; res.xyz = lerp(r0.xyz,Params01[5].xyz,Params01[5].w); res.xyz = pow(max(0,res.xyz),1.0/2.2); +#endif res.w = 1.0; return res; } diff --git a/enbseries/enbeffect.fx.ini b/enbseries/enbeffect.fx.ini index 3df8368..2de95ca 100644 --- a/enbseries/enbeffect.fx.ini +++ b/enbseries/enbeffect.fx.ini @@ -1,71 +1,71 @@ [ENBEFFECT.FX] TECHNIQUE=1 -Enable Grain=true +Enable Grain=false Grain Speed=2500.0 Grain Intensity=0.03 Grain Saturation=-0.23 Grain Two-Pass=true Grain Blending Mode=3 -Grain Dark Mask Contrast=2.43 +Grain Dark Mask Contrast=0.74 Grain Two-Pass Factor=0.04 Grain Magnification=13.3, 19.6, 17.4 Grain Pass 1 Magnification=2.05, 3.11, 2.22 Grain Pass 2 Magnification=4.25, 0.42, 6.29 -Grain Contrast=4.73 +Grain Contrast=3.54 Enable Tonemapping=true -Tonemap Shoulder Strength Night=1.12 -Tonemap Shoulder Strength Day=1.22 -Tonemap Shoulder Strength Interior=1.22 -Tonemap Linear Strength Night=0.67 -Tonemap Linear Strength Day=0.87 -Tonemap Linear Strength Interior=0.64 -Tonemap Linear Angle Night=0.85 -Tonemap Linear Angle Day=0.73 -Tonemap Linear Angle Interior=0.87 -Tonemap Toe Strength Night=0.93 -Tonemap Toe Strength Day=0.81 -Tonemap Toe Strength Interior=0.83 +Tonemap Shoulder Strength Night=0.83 +Tonemap Shoulder Strength Day=0.94 +Tonemap Shoulder Strength Interior=0.88 +Tonemap Linear Strength Night=0.59 +Tonemap Linear Strength Day=0.46 +Tonemap Linear Strength Interior=0.51 +Tonemap Linear Angle Night=0.25 +Tonemap Linear Angle Day=0.41 +Tonemap Linear Angle Interior=0.35 +Tonemap Toe Strength Night=2.46 +Tonemap Toe Strength Day=2.59 +Tonemap Toe Strength Interior=2.54 Tonemap Toe Numerator Night=3.74 -Tonemap Toe Numerator Day=3.93 -Tonemap Toe Numerator Interior=3.56 -Tonemap Toe Denominator Night=1.33 -Tonemap Toe Denominator Day=1.14 -Tonemap Toe Denominator Interior=1.25 -Tonemap Linear White Night=1.28 -Tonemap Linear White Day=1.39 -Tonemap Linear White Interior=1.32 +Tonemap Toe Numerator Day=3.92 +Tonemap Toe Numerator Interior=3.52 +Tonemap Toe Denominator Night=1.51 +Tonemap Toe Denominator Day=1.41 +Tonemap Toe Denominator Interior=1.49 +Tonemap Linear White Night=1.15 +Tonemap Linear White Day=1.2 +Tonemap Linear White Interior=1.17 Enable RGB Grading=true -Grading Intensity Night=1.04, 1.08, 1.07 -Grading Intensity Day=1.06, 1.01, 1.06 -Grading Intensity Interior=1.06, 1.02, 1.05 +Grading Intensity Night=0.97, 1.01, 1 +Grading Intensity Day=0.97, 1.01, 1 +Grading Intensity Interior=1.02, 0.98, 1.01 Grading Contrast Night=0.97, 0.94, 0.95 -Grading Contrast Day=0.96, 0.97, 0.93 +Grading Contrast Day=0.97, 1.02, 0.91 Grading Contrast Interior=0.95, 0.99, 0.96 Enable Vibrance Grading=true Grading Color Night=-0.34, -0.6, -0.94 -Grading Color Day=-0.28, -0.19, -0.82 -Grading Color Interior=-0.39, -0.63, -0.37 -Grading Color Factor Night=-0.14 -Grading Color Factor Day=-0.12 -Grading Color Factor Interior=-0.15 +Grading Color Day=0.23, 0.24, -0.92 +Grading Color Interior=-0.76, -0.4, -0.4 +Grading Color Factor Night=-0.2 +Grading Color Factor Day=-0.14 +Grading Color Factor Interior=-0.17 Enable HSV Grading=true -Grading Saturation Intensity Night=1.42 -Grading Saturation Intensity Day=1.51 -Grading Saturation Intensity Interior=1.39 -Grading Saturation Contrast Night=1.21 -Grading Saturation Contrast Day=1.07 -Grading Saturation Contrast Interior=1.25 +Grading Saturation Intensity Night=1.13 +Grading Saturation Intensity Day=1.1 +Grading Saturation Intensity Interior=1.11 +Grading Saturation Contrast Night=1.13 +Grading Saturation Contrast Day=1.06 +Grading Saturation Contrast Interior=1.03 Grading Value Intensity Night=1.03 -Grading Value Intensity Day=1.11 +Grading Value Intensity Day=1.04 Grading Value Intensity Interior=1.08 -Grading Value Contrast Night=1.67 -Grading Value Contrast Day=1.48 -Grading Value Contrast Interior=1.62 +Grading Value Contrast Night=1.24 +Grading Value Contrast Day=1.25 +Grading Value Contrast Interior=1.26 Colorize After HSV=true Enable LUT Grading=true -LUT Blend Night=0.26 -LUT Blend Day=0.53 -LUT Blend Interior=0.38 +LUT Blend Night=0.16 +LUT Blend Day=0.33 +LUT Blend Interior=0.24 Enable Post Dither=false Dither Pattern=4 Display Bloom=false @@ -141,3 +141,5 @@ Grading Value Contrast Interior Day=1.62 LUT Blend Interior Night=0.39 LUT Blend Interior Day=0.45 Display Adaptation=false +Enable Technicolor=true +Technicolor Blend=1.0 diff --git a/enbseries/enbeffectpostpass.fx b/enbseries/enbeffectpostpass.fx index d6f5e98..5133063 100644 --- a/enbseries/enbeffectpostpass.fx +++ b/enbseries/enbeffectpostpass.fx @@ -1,6 +1,6 @@ /* enbeffectpostpass.fx : MariENB3 extra shader. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ diff --git a/enbseries/enbeffectpostpass.fx.ini b/enbseries/enbeffectpostpass.fx.ini index f8e99b7..740c7b3 100644 --- a/enbseries/enbeffectpostpass.fx.ini +++ b/enbseries/enbeffectpostpass.fx.ini @@ -27,11 +27,11 @@ Curve Chromatic Aberration=0.7 Curve Zooming=50.200008 Curve Distortion=0.0 Curve Sampling Soften=0.0 -Enable Blur=true +Enable Blur=false Blur Sampling Range=0.15 -Enable Sharp=true +Enable Sharp=false Sharp Sampling Range=0.35 -Sharpening Amount=2.0 +Sharpening Amount=3.0 Enable Shift=false Shift Sampling Range=0.6 Luma Sharpen Enable=true diff --git a/enbseries/menbglobaldefs.fx b/enbseries/menbglobaldefs.fx index 8e9f01c..ddcc6f5 100644 --- a/enbseries/menbglobaldefs.fx +++ b/enbseries/menbglobaldefs.fx @@ -1,9 +1,11 @@ /* menbglobaldefs.fx : MariENB3 global shared code. - (C)2016 Marisa Kirisame, UnSX Team. + (C)2016-2017 Marisa Kirisame, UnSX Team. Part of MariENB3, the personal ENB of Marisa for Fallout 4. Released under the GNU GPLv3 (or later). */ +/* are we running on skyrim special edition or on fallout 4? */ +//#define SKYRIMSE /* time of day and interior interpolation */ #define ndfact clamp(0.5+(TimeOfDay1.z+(TimeOfDay1.y+TimeOfDay1.w)*0.5)*0.5\ -(TimeOfDay2.y+(TimeOfDay1.x+TimeOfDay2.x)*0.5)*0.5,0.0,1.0) diff --git a/enbseries/menbweatherinfo.txt b/enbseries/menbweatherinfo.txt index af48eb0..b0887a8 100644 --- a/enbseries/menbweatherinfo.txt +++ b/enbseries/menbweatherinfo.txt @@ -87,12 +87,4 @@ DLCCoast 54132 DLC03VirtualWeather01OriginalFog . 56378 FXWthrWindowNoGlow01 . 56638 DLC03_ClearWeatherFastBackup WARM -5D0C4 dlc03_radmistweatherFast COLD - -TrueStormsFO4 - -859 TrueStormsRadStormRainHeavy COLD -85A TrueStormsRadStormRainLight COLD -862 TrueStormsRainLight COLD -864 TrueStormsMistyRainyLight COLD -865 TrueStormsFoggyLight COLD \ No newline at end of file +5D0C4 dlc03_radmistweatherFast COLD \ No newline at end of file