Alpha 2
|
|
@ -1,19 +1,13 @@
|
||||||
Copyright (c) 2013-2014 UnSX Team
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
|
Version 2, December 2004
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
Everyone is permitted to copy and distribute verbatim or modified
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of this license document, and changing it is allowed as long
|
||||||
furnished to do so, subject to the following conditions:
|
as the name is changed.
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||||
all copies or substantial portions of the Software.
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
0. You just DO WHAT THE FUCK YOU WANT TO.
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
|
||||||
12
effect.txt
|
|
@ -1,12 +0,0 @@
|
||||||
/*
|
|
||||||
effect.txt : MariENB additional filters.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* do not touch this! */
|
|
||||||
#define E_SHADER_3_0
|
|
||||||
/* separate for easier maintenance */
|
|
||||||
#include "menbsettings.fx"
|
|
||||||
#include "menbinternals.fx"
|
|
||||||
#include "menbfilters.fx"
|
|
||||||
BIN
enblensmask.png
|
Before Width: | Height: | Size: 1.2 MiB |
BIN
enbpalette.bmp
|
Before Width: | Height: | Size: 192 KiB |
597
enbseries.ini
|
|
@ -1,7 +1,7 @@
|
||||||
; enbseries.ini : ENB configuration file.
|
; enbseries.ini : ENB configuration file.
|
||||||
; (C)2013-2014 Marisa Kirisame, UnSX Team.
|
; (C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
; Part of MariENB, the personal ENB of Marisa.
|
; Part of MariENB, the personal ENB of Marisa.
|
||||||
; Released under the MIT License.
|
; Released under the WTFPL.
|
||||||
|
|
||||||
[GLOBAL]
|
[GLOBAL]
|
||||||
AdditionalConfigFile=
|
AdditionalConfigFile=
|
||||||
|
|
@ -12,7 +12,7 @@ UseOriginalPostProcessing=false
|
||||||
UseOriginalObjectsProcessing=false
|
UseOriginalObjectsProcessing=false
|
||||||
EnableBloom=true
|
EnableBloom=true
|
||||||
EnableAdaptation=false
|
EnableAdaptation=false
|
||||||
EnableAmbientOcclusion=false
|
EnableAmbientOcclusion=true
|
||||||
EnableDepthOfField=true
|
EnableDepthOfField=true
|
||||||
EnableDetailedShadow=true
|
EnableDetailedShadow=true
|
||||||
EnableSunRays=true
|
EnableSunRays=true
|
||||||
|
|
@ -32,45 +32,40 @@ EnableProceduralSun=true
|
||||||
EnableMist=true
|
EnableMist=true
|
||||||
|
|
||||||
[BLOOM]
|
[BLOOM]
|
||||||
Quality=1
|
Quality=0
|
||||||
AmountDay=0.5
|
AmountDay=1.0
|
||||||
AmountNight=0.85
|
AmountNight=1.0
|
||||||
AmountInterior=1.35
|
BlueShiftAmountDay=0.0
|
||||||
BlueShiftAmountDay=21.369999
|
BlueShiftAmountNight=0.0
|
||||||
BlueShiftAmountNight=13.0
|
AmountSunrise=1.0
|
||||||
BlueShiftAmountInterior=12.0
|
AmountSunset=1.0
|
||||||
ContrastDay=1.0
|
AmountInteriorDay=1.0
|
||||||
ContrastNight=3.0
|
AmountInteriorNight=1.0
|
||||||
ContrastInterior=2.0
|
BlueShiftAmountSunrise=0.0
|
||||||
AmountSunrise=1.02
|
BlueShiftAmountSunset=0.0
|
||||||
AmountSunset=1.31
|
BlueShiftAmountInteriorDay=0.0
|
||||||
AmountInteriorDay=0.66
|
BlueShiftAmountInteriorNight=0.0
|
||||||
AmountInteriorNight=0.9
|
|
||||||
BlueShiftAmountSunrise=15.77
|
|
||||||
BlueShiftAmountSunset=17.530001
|
|
||||||
BlueShiftAmountInteriorDay=19.219999
|
|
||||||
BlueShiftAmountInteriorNight=14.86
|
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[CAMERAFX]
|
[CAMERAFX]
|
||||||
LenzReflectionIntensityDay=1.29
|
LenzReflectionIntensityDay=0.0
|
||||||
LenzReflectionIntensityNight=1.14
|
LenzReflectionIntensityNight=0.0
|
||||||
LenzReflectionIntensityInterior=0.0
|
LenzReflectionIntensityInterior=0.0
|
||||||
LenzReflectionPowerDay=0.91
|
LenzReflectionPowerDay=0.0
|
||||||
LenzReflectionPowerNight=0.74
|
LenzReflectionPowerNight=0.0
|
||||||
LenzReflectionPowerInterior=0.0
|
LenzReflectionPowerInterior=0.0
|
||||||
LenzReflectionIntensitySunrise=1.45
|
LenzReflectionIntensitySunrise=0.0
|
||||||
LenzReflectionIntensitySunset=1.53
|
LenzReflectionIntensitySunset=0.0
|
||||||
LenzReflectionIntensityInteriorDay=0.950001
|
LenzReflectionIntensityInteriorDay=0.0
|
||||||
LenzReflectionIntensityInteriorNight=1.21
|
LenzReflectionIntensityInteriorNight=0.0
|
||||||
LenzReflectionPowerSunrise=0.64
|
LenzReflectionPowerSunrise=1.0
|
||||||
LenzReflectionPowerSunset=0.64
|
LenzReflectionPowerSunset=1.0
|
||||||
LenzReflectionPowerInteriorDay=0.76
|
LenzReflectionPowerInteriorDay=1.0
|
||||||
LenzReflectionPowerInteriorNight=0.71
|
LenzReflectionPowerInteriorNight=1.0
|
||||||
|
|
||||||
[SSAO_SSIL]
|
[SSAO_SSIL]
|
||||||
UseIndirectLighting=false
|
UseIndirectLighting=true
|
||||||
UseComplexIndirectLighting=false
|
UseComplexIndirectLighting=true
|
||||||
SamplingQuality=1
|
SamplingQuality=1
|
||||||
SamplingRange=1.0
|
SamplingRange=1.0
|
||||||
FadeFogRangeDay=0.0
|
FadeFogRangeDay=0.0
|
||||||
|
|
@ -79,24 +74,24 @@ FadeFogRangeInterior=0.0
|
||||||
SizeScale=0.5
|
SizeScale=0.5
|
||||||
SourceTexturesScale=0.5
|
SourceTexturesScale=0.5
|
||||||
FilterQuality=1
|
FilterQuality=1
|
||||||
AOAmount=2.44
|
AOAmount=1.0
|
||||||
ILAmount=0.0
|
ILAmount=1.0
|
||||||
UseComplexAmbientOcclusion=false
|
UseComplexAmbientOcclusion=true
|
||||||
UseAmbientIndirectLighting=false
|
UseAmbientIndirectLighting=true
|
||||||
SamplingPrecision=1
|
SamplingPrecision=1
|
||||||
FadeFogRange=3.14
|
FadeFogRange=0.0
|
||||||
FilterType=0
|
FilterType=0
|
||||||
AOAmountInterior=2.71
|
AOAmountInterior=1.0
|
||||||
ILAmountInterior=0.0
|
ILAmountInterior=1.0
|
||||||
AOIntensity=1.49
|
AOIntensity=1.0
|
||||||
AOIntensityInterior=1.51
|
AOIntensityInterior=1.0
|
||||||
AOType=0
|
AOType=0
|
||||||
AOMixingType=0
|
AOMixingType=0
|
||||||
AOMixingTypeInterior=0
|
AOMixingTypeInterior=0
|
||||||
UseOldType=false
|
UseOldType=false
|
||||||
EnableDenoiser=false
|
EnableDenoiser=true
|
||||||
EnableSupersampling=false
|
EnableSupersampling=false
|
||||||
EnableComplexFilter=false
|
EnableComplexFilter=true
|
||||||
ILType=0
|
ILType=0
|
||||||
|
|
||||||
[NIGHTDAY]
|
[NIGHTDAY]
|
||||||
|
|
@ -108,47 +103,47 @@ DetectorOldVersion=false
|
||||||
|
|
||||||
[ADAPTATION]
|
[ADAPTATION]
|
||||||
ForceMinMaxValues=true
|
ForceMinMaxValues=true
|
||||||
AdaptationSensitivity=0.35
|
AdaptationSensitivity=0.71
|
||||||
AdaptationTime=3.22
|
AdaptationTime=2.01
|
||||||
AdaptationMin=0.85001
|
AdaptationMin=1.0
|
||||||
AdaptationMax=1.23
|
AdaptationMax=1.0
|
||||||
|
|
||||||
[ENVIRONMENT]
|
[ENVIRONMENT]
|
||||||
DirectLightingIntensityDay=1.29
|
DirectLightingIntensityDay=1.22
|
||||||
DirectLightingIntensityNight=1.32
|
DirectLightingIntensityNight=1.02
|
||||||
DirectLightingIntensityInterior=1.014688
|
DirectLightingIntensityInterior=1.014688
|
||||||
DirectLightingCurveDay=1.24
|
DirectLightingCurveDay=1.08
|
||||||
DirectLightingCurveNight=1.15
|
DirectLightingCurveNight=0.88
|
||||||
DirectLightingCurveInterior=1.25
|
DirectLightingCurveInterior=1.25
|
||||||
DirectLightingDesaturationDay=0.0
|
DirectLightingDesaturationDay=0.05
|
||||||
DirectLightingDesaturationNight=0.0
|
DirectLightingDesaturationNight=0.18
|
||||||
DirectLightingDesaturationInterior=0.0
|
DirectLightingDesaturationInterior=0.0
|
||||||
SpecularAmountMultiplierDay=1.15
|
SpecularAmountMultiplierDay=1.03
|
||||||
SpecularAmountMultiplierNight=1.44
|
SpecularAmountMultiplierNight=1.33
|
||||||
SpecularAmountMultiplierInterior=1.0
|
SpecularAmountMultiplierInterior=1.0
|
||||||
SpecularPowerMultiplierDay=1.551
|
SpecularPowerMultiplierDay=0.651
|
||||||
SpecularPowerMultiplierNight=1.651
|
SpecularPowerMultiplierNight=0.351
|
||||||
SpecularPowerMultiplierInterior=1.0
|
SpecularPowerMultiplierInterior=1.0
|
||||||
SpecularFromLightDay=0.0
|
SpecularFromLightDay=0.0
|
||||||
SpecularFromLightNight=0.0
|
SpecularFromLightNight=0.0
|
||||||
SpecularFromLightInterior=0.0
|
SpecularFromLightInterior=0.0
|
||||||
AmbientLightingIntensityDay=0.66
|
AmbientLightingIntensityDay=0.66
|
||||||
AmbientLightingIntensityNight=0.22
|
AmbientLightingIntensityNight=0.39
|
||||||
AmbientLightingIntensityInterior=0.914
|
AmbientLightingIntensityInterior=0.914
|
||||||
AmbientLightingCurveDay=1.29
|
AmbientLightingCurveDay=1.29
|
||||||
AmbientLightingCurveNight=1.18
|
AmbientLightingCurveNight=1.31
|
||||||
AmbientLightingCurveInterior=0.75
|
AmbientLightingCurveInterior=0.75
|
||||||
AmbientLightingDesaturationDay=0.0
|
AmbientLightingDesaturationDay=0.0
|
||||||
AmbientLightingDesaturationNight=0.0
|
AmbientLightingDesaturationNight=0.0
|
||||||
AmbientLightingDesaturationInterior=0.0
|
AmbientLightingDesaturationInterior=0.0
|
||||||
PointLightingIntensityDay=1.29
|
PointLightingIntensityDay=0.7
|
||||||
PointLightingIntensityNight=2.15
|
PointLightingIntensityNight=0.81
|
||||||
PointLightingIntensityInterior=0.825
|
PointLightingIntensityInterior=0.825
|
||||||
PointLightingCurveDay=1.26875
|
PointLightingCurveDay=0.58875
|
||||||
PointLightingCurveNight=1.56
|
PointLightingCurveNight=0.7
|
||||||
PointLightingCurveInterior=0.825
|
PointLightingCurveInterior=0.825
|
||||||
PointLightingDesaturationDay=0.12
|
PointLightingDesaturationDay=0.08
|
||||||
PointLightingDesaturationNight=0.3
|
PointLightingDesaturationNight=0.23
|
||||||
PointLightingDesaturationInterior=0.0
|
PointLightingDesaturationInterior=0.0
|
||||||
FogColorMultiplierDay=0.6
|
FogColorMultiplierDay=0.6
|
||||||
FogColorMultiplierNight=0.51
|
FogColorMultiplierNight=0.51
|
||||||
|
|
@ -159,34 +154,34 @@ FogColorCurveInterior=1.0
|
||||||
ColorPowDay=1.0
|
ColorPowDay=1.0
|
||||||
ColorPowNight=1.0
|
ColorPowNight=1.0
|
||||||
ColorPowInterior=0.9
|
ColorPowInterior=0.9
|
||||||
DirectLightingIntensitySunrise=1.55
|
DirectLightingIntensitySunrise=1.3
|
||||||
DirectLightingIntensitySunset=2.09
|
DirectLightingIntensitySunset=1.45
|
||||||
DirectLightingIntensityInteriorDay=1.27
|
DirectLightingIntensityInteriorDay=1.14
|
||||||
DirectLightingIntensityInteriorNight=1.27
|
DirectLightingIntensityInteriorNight=0.96
|
||||||
DirectLightingCurveSunrise=1.59
|
DirectLightingCurveSunrise=1.26
|
||||||
DirectLightingCurveSunset=1.91
|
DirectLightingCurveSunset=1.62
|
||||||
DirectLightingCurveInteriorDay=1.05
|
DirectLightingCurveInteriorDay=1.05
|
||||||
DirectLightingCurveInteriorNight=1.11
|
DirectLightingCurveInteriorNight=0.85
|
||||||
DirectLightingDesaturationSunrise=0.0
|
DirectLightingDesaturationSunrise=0.02
|
||||||
DirectLightingDesaturationSunset=0.0
|
DirectLightingDesaturationSunset=0.01
|
||||||
DirectLightingDesaturationInteriorDay=0.0
|
DirectLightingDesaturationInteriorDay=0.08
|
||||||
DirectLightingDesaturationInteriorNight=0.0
|
DirectLightingDesaturationInteriorNight=0.15
|
||||||
SpecularAmountMultiplierSunrise=1.49
|
SpecularAmountMultiplierSunrise=1.49
|
||||||
SpecularAmountMultiplierSunset=1.51
|
SpecularAmountMultiplierSunset=1.62
|
||||||
SpecularAmountMultiplierInteriorDay=1.27
|
SpecularAmountMultiplierInteriorDay=1.21
|
||||||
SpecularAmountMultiplierInteriorNight=1.38
|
SpecularAmountMultiplierInteriorNight=1.17
|
||||||
SpecularPowerMultiplierSunrise=1.181
|
SpecularPowerMultiplierSunrise=0.241
|
||||||
SpecularPowerMultiplierSunset=1.141
|
SpecularPowerMultiplierSunset=0.101
|
||||||
SpecularPowerMultiplierInteriorDay=1.241
|
SpecularPowerMultiplierInteriorDay=0.511
|
||||||
SpecularPowerMultiplierInteriorNight=1.441
|
SpecularPowerMultiplierInteriorNight=0.371
|
||||||
SpecularFromLightSunrise=0.0
|
SpecularFromLightSunrise=0.0
|
||||||
SpecularFromLightSunset=0.0
|
SpecularFromLightSunset=0.0
|
||||||
SpecularFromLightInteriorDay=0.0
|
SpecularFromLightInteriorDay=0.0
|
||||||
SpecularFromLightInteriorNight=0.0
|
SpecularFromLightInteriorNight=0.0
|
||||||
AmbientLightingIntensitySunrise=0.4
|
AmbientLightingIntensitySunrise=0.37
|
||||||
AmbientLightingIntensitySunset=0.34
|
AmbientLightingIntensitySunset=0.34
|
||||||
AmbientLightingIntensityInteriorDay=0.33
|
AmbientLightingIntensityInteriorDay=0.35
|
||||||
AmbientLightingIntensityInteriorNight=0.25
|
AmbientLightingIntensityInteriorNight=0.12
|
||||||
AmbientLightingCurveSunrise=1.32
|
AmbientLightingCurveSunrise=1.32
|
||||||
AmbientLightingCurveSunset=1.44
|
AmbientLightingCurveSunset=1.44
|
||||||
AmbientLightingCurveInteriorDay=1.07
|
AmbientLightingCurveInteriorDay=1.07
|
||||||
|
|
@ -195,48 +190,48 @@ AmbientLightingDesaturationSunrise=0.0
|
||||||
AmbientLightingDesaturationSunset=0.0
|
AmbientLightingDesaturationSunset=0.0
|
||||||
AmbientLightingDesaturationInteriorDay=0.0
|
AmbientLightingDesaturationInteriorDay=0.0
|
||||||
AmbientLightingDesaturationInteriorNight=0.0
|
AmbientLightingDesaturationInteriorNight=0.0
|
||||||
AmbientColorFilterAmountSunrise=0.12
|
AmbientColorFilterAmountSunrise=0.0
|
||||||
AmbientColorFilterAmountDay=0.11
|
AmbientColorFilterAmountDay=0.0
|
||||||
AmbientColorFilterAmountSunset=0.14
|
AmbientColorFilterAmountSunset=0.0
|
||||||
AmbientColorFilterAmountNight=0.33
|
AmbientColorFilterAmountNight=0.0
|
||||||
AmbientColorFilterAmountInteriorDay=0.11
|
AmbientColorFilterAmountInteriorDay=0.0
|
||||||
AmbientColorFilterAmountInteriorNight=0.24
|
AmbientColorFilterAmountInteriorNight=0.0
|
||||||
AmbientColorFilterTopSunrise=0.902, 0.784, 0.212
|
AmbientColorFilterTopSunrise=0.902, 0.784, 0.212
|
||||||
AmbientColorFilterTopDay=0.882, 0.863, 0.71
|
AmbientColorFilterTopDay=0.882, 0.863, 0.71
|
||||||
AmbientColorFilterTopSunset=0.945, 0.369, 0.0353
|
AmbientColorFilterTopSunset=0.945, 0.369, 0.0353
|
||||||
AmbientColorFilterTopNight=0.00784, 0.435, 0.737
|
AmbientColorFilterTopNight=0.00784, 0.447, 0.737
|
||||||
AmbientColorFilterTopInteriorDay=0.373, 0.396, 0.451
|
AmbientColorFilterTopInteriorDay=0.373, 0.396, 0.451
|
||||||
AmbientColorFilterTopInteriorNight=0.369, 0.435, 0.565
|
AmbientColorFilterTopInteriorNight=0.369, 0.435, 0.565
|
||||||
AmbientColorFilterMiddleSunrise=0.396, 0.231, 0.0902
|
AmbientColorFilterMiddleSunrise=0.0196, 0.0118, 0.00392
|
||||||
AmbientColorFilterMiddleDay=0.188, 0.173, 0.149
|
AmbientColorFilterMiddleDay=0, 0, 0
|
||||||
AmbientColorFilterMiddleSunset=0.227, 0.0627, 0.0157
|
AmbientColorFilterMiddleSunset=0, 0, 0
|
||||||
AmbientColorFilterMiddleNight=0.141, 0.192, 0.259
|
AmbientColorFilterMiddleNight=0, 0, 0
|
||||||
AmbientColorFilterMiddleInteriorDay=0.227, 0.333, 0.392
|
AmbientColorFilterMiddleInteriorDay=0, 0, 0
|
||||||
AmbientColorFilterMiddleInteriorNight=0.18, 0.247, 0.376
|
AmbientColorFilterMiddleInteriorNight=0, 0, 0
|
||||||
AmbientColorFilterBottomSunrise=0.776, 0.545, 0.282
|
AmbientColorFilterBottomSunrise=0, 0, 0
|
||||||
AmbientColorFilterBottomDay=0.518, 0.455, 0.353
|
AmbientColorFilterBottomDay=0, 0, 0
|
||||||
AmbientColorFilterBottomSunset=0.851, 0.384, 0.184
|
AmbientColorFilterBottomSunset=0, 0, 0
|
||||||
AmbientColorFilterBottomNight=0.11, 0.165, 0.408
|
AmbientColorFilterBottomNight=0, 0, 0
|
||||||
AmbientColorFilterBottomInteriorDay=0.169, 0.29, 0.294
|
AmbientColorFilterBottomInteriorDay=0, 0, 0
|
||||||
AmbientColorFilterBottomInteriorNight=0.0824, 0.133, 0.278
|
AmbientColorFilterBottomInteriorNight=0.00392, 0.00784, 0.0196
|
||||||
PointLightingIntensitySunrise=1.72
|
PointLightingIntensitySunrise=0.8
|
||||||
PointLightingIntensitySunset=1.69
|
PointLightingIntensitySunset=0.85
|
||||||
PointLightingIntensityInteriorDay=1.8
|
PointLightingIntensityInteriorDay=0.76
|
||||||
PointLightingIntensityInteriorNight=2.01
|
PointLightingIntensityInteriorNight=0.88
|
||||||
PointLightingCurveSunrise=1.59
|
PointLightingCurveSunrise=0.8
|
||||||
PointLightingCurveSunset=1.78
|
PointLightingCurveSunset=0.84
|
||||||
PointLightingCurveInteriorDay=1.3
|
PointLightingCurveInteriorDay=0.68
|
||||||
PointLightingCurveInteriorNight=1.45
|
PointLightingCurveInteriorNight=0.77
|
||||||
PointLightingDesaturationSunrise=0.28
|
PointLightingDesaturationSunrise=0.15
|
||||||
PointLightingDesaturationSunset=0.32
|
PointLightingDesaturationSunset=0.19
|
||||||
PointLightingDesaturationInteriorDay=0.18
|
PointLightingDesaturationInteriorDay=0.09
|
||||||
PointLightingDesaturationInteriorNight=0.26
|
PointLightingDesaturationInteriorNight=0.12
|
||||||
ParticleLightsIntensitySunrise=1.19
|
ParticleLightsIntensitySunrise=1.19
|
||||||
ParticleLightsIntensityDay=0.94
|
ParticleLightsIntensityDay=0.94
|
||||||
ParticleLightsIntensitySunset=1.14
|
ParticleLightsIntensitySunset=1.14
|
||||||
ParticleLightsIntensityNight=1.15
|
ParticleLightsIntensityNight=1.15
|
||||||
ParticleLightsIntensityInteriorDay=0.77
|
ParticleLightsIntensityInteriorDay=1.21
|
||||||
ParticleLightsIntensityInteriorNight=0.96
|
ParticleLightsIntensityInteriorNight=1.25
|
||||||
FogColorMultiplierSunrise=0.4
|
FogColorMultiplierSunrise=0.4
|
||||||
FogColorMultiplierSunset=0.35
|
FogColorMultiplierSunset=0.35
|
||||||
FogColorMultiplierInteriorDay=0.39
|
FogColorMultiplierInteriorDay=0.39
|
||||||
|
|
@ -255,20 +250,20 @@ IgnoreWeatherSystem=true
|
||||||
Enable=true
|
Enable=true
|
||||||
StarsIntensity=1.88
|
StarsIntensity=1.88
|
||||||
StarsCurve=1.23
|
StarsCurve=1.23
|
||||||
AuroraBorealisIntensity=1.2
|
AuroraBorealisIntensity=0.44
|
||||||
AuroraBorealisCurve=0.46
|
AuroraBorealisCurve=0.23
|
||||||
CloudsIntensityDay=1.020001
|
CloudsIntensityDay=1.030001
|
||||||
CloudsIntensityNight=0.510001
|
CloudsIntensityNight=0.330001
|
||||||
CloudsIntensityInterior=1.49
|
CloudsIntensityInterior=1.49
|
||||||
CloudsCurveDay=1.18
|
CloudsCurveDay=1.18
|
||||||
CloudsCurveNight=1.03
|
CloudsCurveNight=1.06
|
||||||
CloudsCurveInterior=1.5
|
CloudsCurveInterior=1.5
|
||||||
CloudsDesaturationDay=0.15
|
CloudsDesaturationDay=0.16
|
||||||
CloudsDesaturationNight=0.06
|
CloudsDesaturationNight=0.08
|
||||||
CloudsDesaturationInterior=0.14
|
CloudsDesaturationInterior=0.14
|
||||||
CloudsEdgeClamp=0.84
|
CloudsEdgeClamp=0.0
|
||||||
CloudsEdgeIntensity=2.53
|
CloudsEdgeIntensity=1.94
|
||||||
GradientIntensityDay=1.310001
|
GradientIntensityDay=0.840001
|
||||||
GradientIntensityNight=0.740001
|
GradientIntensityNight=0.740001
|
||||||
GradientIntensityInterior=0.85
|
GradientIntensityInterior=0.85
|
||||||
GradientDesaturationDay=0.29
|
GradientDesaturationDay=0.29
|
||||||
|
|
@ -286,7 +281,7 @@ GradientMiddleIntensityInterior=2.4
|
||||||
GradientMiddleCurveDay=2.06
|
GradientMiddleCurveDay=2.06
|
||||||
GradientMiddleCurveNight=1.41
|
GradientMiddleCurveNight=1.41
|
||||||
GradientMiddleCurveInterior=1.65
|
GradientMiddleCurveInterior=1.65
|
||||||
GradientHorizonIntensityDay=3.76
|
GradientHorizonIntensityDay=1.94
|
||||||
GradientHorizonIntensityNight=1.840001
|
GradientHorizonIntensityNight=1.840001
|
||||||
GradientHorizonIntensityInterior=2.33
|
GradientHorizonIntensityInterior=2.33
|
||||||
GradientHorizonCurveDay=1.52
|
GradientHorizonCurveDay=1.52
|
||||||
|
|
@ -294,18 +289,18 @@ GradientHorizonCurveNight=1.36
|
||||||
GradientHorizonCurveInterior=1.25
|
GradientHorizonCurveInterior=1.25
|
||||||
SunIntensity=3.0
|
SunIntensity=3.0
|
||||||
SunDesaturation=0.0
|
SunDesaturation=0.0
|
||||||
SunCoronaIntensity=0.911
|
SunCoronaIntensity=0.5
|
||||||
SunCoronaCurve=3.19
|
SunCoronaCurve=1.42
|
||||||
SunCoronaDesaturation=0.09
|
SunCoronaDesaturation=0.09
|
||||||
MoonIntensity=1.6
|
MoonIntensity=1.6
|
||||||
MoonCurve=1.0
|
MoonCurve=1.0
|
||||||
MoonDesaturation=0.2
|
MoonDesaturation=0.2
|
||||||
DisableWrongSkyMath=true
|
DisableWrongSkyMath=true
|
||||||
CloudsIntensitySunrise=0.550001
|
CloudsIntensitySunrise=0.880001
|
||||||
CloudsIntensitySunset=0.63
|
CloudsIntensitySunset=0.63
|
||||||
CloudsIntensityInteriorDay=0.98
|
CloudsIntensityInteriorDay=0.98
|
||||||
CloudsIntensityInteriorNight=0.44
|
CloudsIntensityInteriorNight=0.44
|
||||||
CloudsCurveSunrise=1.67
|
CloudsCurveSunrise=1.27
|
||||||
CloudsCurveSunset=1.46
|
CloudsCurveSunset=1.46
|
||||||
CloudsCurveInteriorDay=1.12
|
CloudsCurveInteriorDay=1.12
|
||||||
CloudsCurveInteriorNight=1.05
|
CloudsCurveInteriorNight=1.05
|
||||||
|
|
@ -313,11 +308,11 @@ CloudsDesaturationSunrise=0.04
|
||||||
CloudsDesaturationSunset=0.02
|
CloudsDesaturationSunset=0.02
|
||||||
CloudsDesaturationInteriorDay=0.13
|
CloudsDesaturationInteriorDay=0.13
|
||||||
CloudsDesaturationInteriorNight=0.04
|
CloudsDesaturationInteriorNight=0.04
|
||||||
GradientIntensitySunrise=0.920001
|
GradientIntensitySunrise=0.930001
|
||||||
GradientIntensitySunset=0.930001
|
GradientIntensitySunset=0.930001
|
||||||
GradientIntensityInteriorDay=1.41
|
GradientIntensityInteriorDay=0.95
|
||||||
GradientIntensityInteriorNight=0.870001
|
GradientIntensityInteriorNight=0.870001
|
||||||
GradientDesaturationSunrise=0.53
|
GradientDesaturationSunrise=0.45
|
||||||
GradientDesaturationSunset=0.1
|
GradientDesaturationSunset=0.1
|
||||||
GradientDesaturationInteriorDay=0.29
|
GradientDesaturationInteriorDay=0.29
|
||||||
GradientDesaturationInteriorNight=0.04
|
GradientDesaturationInteriorNight=0.04
|
||||||
|
|
@ -339,17 +334,17 @@ GradientMiddleCurveInteriorDay=2.2
|
||||||
GradientMiddleCurveInteriorNight=1.4
|
GradientMiddleCurveInteriorNight=1.4
|
||||||
GradientHorizonIntensitySunrise=2.05
|
GradientHorizonIntensitySunrise=2.05
|
||||||
GradientHorizonIntensitySunset=2.21
|
GradientHorizonIntensitySunset=2.21
|
||||||
GradientHorizonIntensityInteriorDay=3.78
|
GradientHorizonIntensityInteriorDay=1.91
|
||||||
GradientHorizonIntensityInteriorNight=1.82
|
GradientHorizonIntensityInteriorNight=1.82
|
||||||
GradientHorizonCurveSunrise=1.13
|
GradientHorizonCurveSunrise=1.13
|
||||||
GradientHorizonCurveSunset=1.13
|
GradientHorizonCurveSunset=1.13
|
||||||
GradientHorizonCurveInteriorDay=1.44
|
GradientHorizonCurveInteriorDay=1.44
|
||||||
GradientHorizonCurveInteriorNight=1.34
|
GradientHorizonCurveInteriorNight=1.34
|
||||||
SunIntensitySunrise=1.28
|
SunIntensitySunrise=2.57
|
||||||
SunIntensityDay=1.1
|
SunIntensityDay=1.83
|
||||||
SunIntensitySunset=1.07
|
SunIntensitySunset=2.92
|
||||||
SunIntensityNight=1.04
|
SunIntensityNight=1.04
|
||||||
SunIntensityInteriorDay=1.09
|
SunIntensityInteriorDay=2.2
|
||||||
SunIntensityInteriorNight=1.03
|
SunIntensityInteriorNight=1.03
|
||||||
SunDesaturationSunrise=0.0
|
SunDesaturationSunrise=0.0
|
||||||
SunDesaturationDay=0.0
|
SunDesaturationDay=0.0
|
||||||
|
|
@ -363,61 +358,61 @@ SunColorFilterSunset=0.82, 0.239, 0.137
|
||||||
SunColorFilterNight=0, 0, 0
|
SunColorFilterNight=0, 0, 0
|
||||||
SunColorFilterInteriorDay=1, 1, 1
|
SunColorFilterInteriorDay=1, 1, 1
|
||||||
SunColorFilterInteriorNight=0, 0, 0
|
SunColorFilterInteriorNight=0, 0, 0
|
||||||
SunGlowIntensitySunrise=3.64
|
SunGlowIntensitySunrise=1.11
|
||||||
SunGlowIntensityDay=3.15
|
SunGlowIntensityDay=1.05
|
||||||
SunGlowIntensitySunset=4.37
|
SunGlowIntensitySunset=1.36
|
||||||
SunGlowIntensityNight=2.92
|
SunGlowIntensityNight=1.02
|
||||||
SunGlowIntensityInteriorDay=3.45
|
SunGlowIntensityInteriorDay=1.28
|
||||||
SunGlowIntensityInteriorNight=3.24
|
SunGlowIntensityInteriorNight=1.01
|
||||||
SunGlowHazinessSunrise=0.08
|
SunGlowHazinessSunrise=0.05
|
||||||
SunGlowHazinessDay=0.37
|
SunGlowHazinessDay=0.36
|
||||||
SunGlowHazinessSunset=0.07
|
SunGlowHazinessSunset=0.07
|
||||||
SunGlowHazinessNight=0.17
|
SunGlowHazinessNight=0.17
|
||||||
SunGlowHazinessInteriorDay=0.28
|
SunGlowHazinessInteriorDay=0.28
|
||||||
SunGlowHazinessInteriorNight=0.11
|
SunGlowHazinessInteriorNight=0.11
|
||||||
MoonIntensitySunrise=0.85
|
MoonIntensitySunrise=0.68
|
||||||
MoonIntensityDay=0.72
|
MoonIntensityDay=0.53
|
||||||
MoonIntensitySunset=1.24
|
MoonIntensitySunset=0.66
|
||||||
MoonIntensityNight=1.52
|
MoonIntensityNight=1.36
|
||||||
MoonIntensityInteriorDay=0.58
|
MoonIntensityInteriorDay=0.69
|
||||||
MoonIntensityInteriorNight=1.3
|
MoonIntensityInteriorNight=1.54
|
||||||
MoonCurveSunrise=0.97
|
MoonCurveSunrise=0.89
|
||||||
MoonCurveDay=0.88
|
MoonCurveDay=0.61
|
||||||
MoonCurveSunset=0.93
|
MoonCurveSunset=0.84
|
||||||
MoonCurveNight=1.07
|
MoonCurveNight=1.07
|
||||||
MoonCurveInteriorDay=0.86
|
MoonCurveInteriorDay=0.59
|
||||||
MoonCurveInteriorNight=1.04
|
MoonCurveInteriorNight=1.04
|
||||||
MoonDesaturationSunrise=0.17
|
MoonDesaturationSunrise=0.55
|
||||||
MoonDesaturationDay=0.23
|
MoonDesaturationDay=0.81
|
||||||
MoonDesaturationSunset=0.14
|
MoonDesaturationSunset=0.58
|
||||||
MoonDesaturationNight=0.12
|
MoonDesaturationNight=0.42
|
||||||
MoonDesaturationInteriorDay=0.22
|
MoonDesaturationInteriorDay=0.83
|
||||||
MoonDesaturationInteriorNight=0.13
|
MoonDesaturationInteriorNight=0.45
|
||||||
CloudsOpacitySunrise=0.98
|
CloudsOpacitySunrise=1.0
|
||||||
CloudsOpacityDay=1.31
|
CloudsOpacityDay=1.0
|
||||||
CloudsOpacitySunset=0.94
|
CloudsOpacitySunset=1.0
|
||||||
CloudsOpacityNight=0.48
|
CloudsOpacityNight=1.0
|
||||||
CloudsOpacityInteriorDay=1.27
|
CloudsOpacityInteriorDay=1.0
|
||||||
CloudsOpacityInteriorNight=0.45
|
CloudsOpacityInteriorNight=1.0
|
||||||
CloudsEdgeFadeRange=0.95
|
CloudsEdgeFadeRange=1.0
|
||||||
CloudsEdgeMoonMultiplier=4.32
|
CloudsEdgeMoonMultiplier=3.37
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[OBJECT]
|
[OBJECT]
|
||||||
SubSurfaceScatteringMultiplierDay=0.48
|
SubSurfaceScatteringMultiplierDay=0.71
|
||||||
SubSurfaceScatteringMultiplierNight=0.26
|
SubSurfaceScatteringMultiplierNight=0.43
|
||||||
SubSurfaceScatteringMultiplierInterior=0.0
|
SubSurfaceScatteringMultiplierInterior=0.0
|
||||||
SubSurfaceScatteringPowerDay=4.0
|
SubSurfaceScatteringPowerDay=2.3
|
||||||
SubSurfaceScatteringPowerNight=4.6
|
SubSurfaceScatteringPowerNight=1.41
|
||||||
SubSurfaceScatteringPowerInterior=1.1
|
SubSurfaceScatteringPowerInterior=1.1
|
||||||
SubSurfaceScatteringMultiplierSunrise=0.71
|
SubSurfaceScatteringMultiplierSunrise=0.92
|
||||||
SubSurfaceScatteringMultiplierSunset=0.84
|
SubSurfaceScatteringMultiplierSunset=1.15
|
||||||
SubSurfaceScatteringMultiplierInteriorDay=0.31
|
SubSurfaceScatteringMultiplierInteriorDay=0.5
|
||||||
SubSurfaceScatteringMultiplierInteriorNight=0.19
|
SubSurfaceScatteringMultiplierInteriorNight=0.39
|
||||||
SubSurfaceScatteringPowerSunrise=2.81
|
SubSurfaceScatteringPowerSunrise=1.57
|
||||||
SubSurfaceScatteringPowerSunset=2.52
|
SubSurfaceScatteringPowerSunset=1.56
|
||||||
SubSurfaceScatteringPowerInteriorDay=5.06
|
SubSurfaceScatteringPowerInteriorDay=2.47
|
||||||
SubSurfaceScatteringPowerInteriorNight=5.63
|
SubSurfaceScatteringPowerInteriorNight=2.15
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[LIGHTSPRITE]
|
[LIGHTSPRITE]
|
||||||
|
|
@ -488,7 +483,7 @@ CurveInterior=1.0
|
||||||
IntensitySunrise=1.63
|
IntensitySunrise=1.63
|
||||||
IntensitySunset=1.42
|
IntensitySunset=1.42
|
||||||
IntensityInteriorDay=1.31
|
IntensityInteriorDay=1.31
|
||||||
IntensityInteriorNight=1.21
|
IntensityInteriorNight=1.19
|
||||||
CurveSunrise=0.94
|
CurveSunrise=0.94
|
||||||
CurveSunset=0.91
|
CurveSunset=0.91
|
||||||
CurveInteriorDay=0.84
|
CurveInteriorDay=0.84
|
||||||
|
|
@ -497,47 +492,47 @@ AdditiveBlending=true
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[COLORCORRECTION]
|
[COLORCORRECTION]
|
||||||
UsePaletteTexture=true
|
UsePaletteTexture=false
|
||||||
Brightness=1.0
|
Brightness=1.0
|
||||||
GammaCurve=1.0
|
GammaCurve=1.0
|
||||||
UseProceduralCorrection=true
|
UseProceduralCorrection=false
|
||||||
|
|
||||||
[SHADOW]
|
[SHADOW]
|
||||||
ShadowCastersFix=true
|
ShadowCastersFix=false
|
||||||
ShadowQualityFix=true
|
ShadowQualityFix=true
|
||||||
DetailedShadowQuality=1
|
DetailedShadowQuality=-1
|
||||||
UseBilateralShadowFilter=true
|
UseBilateralShadowFilter=true
|
||||||
UseShadowFilter=true
|
UseShadowFilter=true
|
||||||
ShadowFilterQuality=1
|
ShadowFilterQuality=0
|
||||||
ShadowBlurRange=1.65
|
ShadowBlurRange=4.36
|
||||||
ShadowBlurRangeInterior=1.17
|
ShadowBlurRangeInterior=5.24
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[DEPTHOFFIELD]
|
[DEPTHOFFIELD]
|
||||||
FadeTime=0.85
|
FadeTime=0.4
|
||||||
Quality=2
|
Quality=-1
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[RAYS]
|
[RAYS]
|
||||||
SunRaysMultiplier=0.75
|
SunRaysMultiplier=0.75
|
||||||
SunRaysMultiplierSunrise=0.59
|
SunRaysMultiplierSunrise=0.12
|
||||||
SunRaysMultiplierDay=0.24
|
SunRaysMultiplierDay=0.04
|
||||||
SunRaysMultiplierSunset=0.54
|
SunRaysMultiplierSunset=0.14
|
||||||
SunRaysMultiplierNight=0.32
|
SunRaysMultiplierNight=0.05
|
||||||
SunRaysMultiplierInteriorDay=0.37
|
SunRaysMultiplierInteriorDay=0.13
|
||||||
SunRaysMultiplierInteriorNight=0.44
|
SunRaysMultiplierInteriorNight=0.15
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[SKYLIGHTING]
|
[SKYLIGHTING]
|
||||||
Quality=2
|
Quality=2
|
||||||
FilterQuality=1
|
FilterQuality=2
|
||||||
AmbientMinLevel=0.39375
|
AmbientMinLevel=0.39375
|
||||||
AmbientMinLevelSunrise=0.33
|
AmbientMinLevelSunrise=0.33
|
||||||
AmbientMinLevelDay=0.64
|
AmbientMinLevelDay=0.64
|
||||||
AmbientMinLevelSunset=0.4
|
AmbientMinLevelSunset=0.4
|
||||||
AmbientMinLevelNight=0.29
|
AmbientMinLevelNight=0.26
|
||||||
AmbientMinLevelInteriorDay=0.2
|
AmbientMinLevelInteriorDay=0.2
|
||||||
AmbientMinLevelInteriorNight=0.19
|
AmbientMinLevelInteriorNight=0.18
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[WEATHER]
|
[WEATHER]
|
||||||
|
|
@ -545,26 +540,26 @@ EnableMultipleWeathers=false
|
||||||
|
|
||||||
[TIMEOFDAY]
|
[TIMEOFDAY]
|
||||||
Enable=true
|
Enable=true
|
||||||
DawnDuration=2.0
|
DawnDuration=1.0
|
||||||
SunriseTime=6.5
|
SunriseTime=8.0
|
||||||
DayTime=12.0
|
DayTime=12.0
|
||||||
SunsetTime=18.5
|
SunsetTime=18.0
|
||||||
DuskDuration=2.0
|
DuskDuration=1.0
|
||||||
NightTime=0.0
|
NightTime=0.0
|
||||||
|
|
||||||
[VEGETATION]
|
[VEGETATION]
|
||||||
SubSurfaceScatteringMultiplierSunrise=1.24
|
SubSurfaceScatteringMultiplierSunrise=1.52
|
||||||
SubSurfaceScatteringMultiplierDay=0.88
|
SubSurfaceScatteringMultiplierDay=1.22
|
||||||
SubSurfaceScatteringMultiplierSunset=1.4
|
SubSurfaceScatteringMultiplierSunset=1.92
|
||||||
SubSurfaceScatteringMultiplierNight=1.14
|
SubSurfaceScatteringMultiplierNight=1.35
|
||||||
SubSurfaceScatteringMultiplierInteriorDay=0.96
|
SubSurfaceScatteringMultiplierInteriorDay=1.17
|
||||||
SubSurfaceScatteringMultiplierInteriorNight=1.08
|
SubSurfaceScatteringMultiplierInteriorNight=1.31
|
||||||
SubSurfaceScatteringPowerSunrise=4.09
|
SubSurfaceScatteringPowerSunrise=1.67
|
||||||
SubSurfaceScatteringPowerDay=4.44
|
SubSurfaceScatteringPowerDay=2.27
|
||||||
SubSurfaceScatteringPowerSunset=3.41
|
SubSurfaceScatteringPowerSunset=1.22
|
||||||
SubSurfaceScatteringPowerNight=5.9
|
SubSurfaceScatteringPowerNight=2.06
|
||||||
SubSurfaceScatteringPowerInteriorDay=5.31
|
SubSurfaceScatteringPowerInteriorDay=2.23
|
||||||
SubSurfaceScatteringPowerInteriorNight=6.37
|
SubSurfaceScatteringPowerInteriorNight=2.09
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[PARTICLE]
|
[PARTICLE]
|
||||||
|
|
@ -573,7 +568,7 @@ IntensityDay=0.94
|
||||||
IntensitySunset=0.85
|
IntensitySunset=0.85
|
||||||
IntensityNight=0.72
|
IntensityNight=0.72
|
||||||
IntensityInteriorDay=1.14
|
IntensityInteriorDay=1.14
|
||||||
IntensityInteriorNight=0.73
|
IntensityInteriorNight=0.7
|
||||||
LightingInfluenceSunrise=1.49
|
LightingInfluenceSunrise=1.49
|
||||||
LightingInfluenceDay=0.86
|
LightingInfluenceDay=0.86
|
||||||
LightingInfluenceSunset=1.82
|
LightingInfluenceSunset=1.82
|
||||||
|
|
@ -584,7 +579,7 @@ IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[REFLECTION]
|
[REFLECTION]
|
||||||
Quality=1
|
Quality=1
|
||||||
FilterQuality=1
|
FilterQuality=0
|
||||||
FilterBluriness=1.0
|
FilterBluriness=1.0
|
||||||
SizeScale=0.5
|
SizeScale=0.5
|
||||||
SourceTexturesScale=0.5
|
SourceTexturesScale=0.5
|
||||||
|
|
@ -592,7 +587,7 @@ Amount=0.64
|
||||||
Power=1.41
|
Power=1.41
|
||||||
GlosinessMin=0.0
|
GlosinessMin=0.0
|
||||||
GlosinessMax=1.0
|
GlosinessMax=1.0
|
||||||
EnableDenoiser=false
|
EnableDenoiser=true
|
||||||
DenoiserType=0
|
DenoiserType=0
|
||||||
EnableSupersampling=false
|
EnableSupersampling=false
|
||||||
ExteriorEnable=true
|
ExteriorEnable=true
|
||||||
|
|
@ -629,32 +624,32 @@ MotionTransparency=0.86
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[EYES]
|
[EYES]
|
||||||
SubSurfaceScatteringMultiplierSunrise=1.5
|
SubSurfaceScatteringMultiplierSunrise=0.56
|
||||||
SubSurfaceScatteringMultiplierDay=1.09
|
SubSurfaceScatteringMultiplierDay=0.29
|
||||||
SubSurfaceScatteringMultiplierSunset=1.66
|
SubSurfaceScatteringMultiplierSunset=0.64
|
||||||
SubSurfaceScatteringMultiplierNight=1.38
|
SubSurfaceScatteringMultiplierNight=0.36
|
||||||
SubSurfaceScatteringMultiplierInteriorDay=1.12
|
SubSurfaceScatteringMultiplierInteriorDay=0.36
|
||||||
SubSurfaceScatteringMultiplierInteriorNight=1.26
|
SubSurfaceScatteringMultiplierInteriorNight=0.35
|
||||||
SubSurfaceScatteringPowerSunrise=2.69
|
SubSurfaceScatteringPowerSunrise=0.62
|
||||||
SubSurfaceScatteringPowerDay=3.83
|
SubSurfaceScatteringPowerDay=0.91
|
||||||
SubSurfaceScatteringPowerSunset=2.56
|
SubSurfaceScatteringPowerSunset=0.64
|
||||||
SubSurfaceScatteringPowerNight=4.4
|
SubSurfaceScatteringPowerNight=0.52
|
||||||
SubSurfaceScatteringPowerInteriorDay=4.11
|
SubSurfaceScatteringPowerInteriorDay=0.79
|
||||||
SubSurfaceScatteringPowerInteriorNight=5.13
|
SubSurfaceScatteringPowerInteriorNight=0.55
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[SUBSURFACESCATTERING]
|
[SUBSURFACESCATTERING]
|
||||||
Quality=1
|
Quality=1
|
||||||
Radius=0.88
|
Radius=1.0
|
||||||
Amount=0.81
|
Amount=0.6
|
||||||
EpidermalAmount=1.52
|
EpidermalAmount=1.64
|
||||||
SubdermalAmount=2.39
|
SubdermalAmount=5.28
|
||||||
EpidermalDiffuseSaturation=-0.45
|
EpidermalDiffuseSaturation=-0.77
|
||||||
SubdermalDiffuseSaturation=0.23
|
SubdermalDiffuseSaturation=0.45
|
||||||
EpidermalMix=0.6
|
EpidermalMix=0.87
|
||||||
SubdermalMix=0.55
|
SubdermalMix=0.19
|
||||||
SubdermalTranslucency=0.92
|
SubdermalTranslucency=0.95
|
||||||
SubdermalPhase=0.75
|
SubdermalPhase=0.95
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
|
|
||||||
[LENS]
|
[LENS]
|
||||||
|
|
@ -687,31 +682,31 @@ IgnoreWeatherSystem=true
|
||||||
[WATER]
|
[WATER]
|
||||||
EnableDispersion=true
|
EnableDispersion=true
|
||||||
EnableCaustics=true
|
EnableCaustics=true
|
||||||
ReflectionAmount=0.58
|
ReflectionAmount=0.86
|
||||||
FrennelMultiplier=3.18
|
FrennelMultiplier=3.5
|
||||||
FrennelMin=0.15
|
FrennelMin=0.0
|
||||||
FrennelMax=1.0
|
FrennelMax=1.0
|
||||||
DispersionAmount=0.91
|
DispersionAmount=0.94
|
||||||
CausticsAmount=1.47
|
CausticsAmount=0.26
|
||||||
EnableParallax=true
|
EnableParallax=true
|
||||||
EnableShadow=true
|
EnableShadow=true
|
||||||
EnableSelfReflection=true
|
EnableSelfReflection=true
|
||||||
EnableLighting=true
|
EnableLighting=true
|
||||||
EnableDisplacement=true
|
EnableDisplacement=true
|
||||||
DisplacementQuality=1
|
DisplacementQuality=1
|
||||||
SunSpecularMultiplier=1.6
|
SunSpecularMultiplier=0.95
|
||||||
SunScatteringMultiplier=3.04
|
SunScatteringMultiplier=2.03
|
||||||
WavesAmplitudeSunrise=1.0
|
WavesAmplitudeSunrise=0.64
|
||||||
WavesAmplitudeDay=1.0
|
WavesAmplitudeDay=0.7
|
||||||
WavesAmplitudeSunset=1.0
|
WavesAmplitudeSunset=0.67
|
||||||
WavesAmplitudeNight=1.0
|
WavesAmplitudeNight=0.51
|
||||||
WavesAmplitudeInteriorDay=1.0
|
WavesAmplitudeInteriorDay=0.55
|
||||||
WavesAmplitudeInteriorNight=1.0
|
WavesAmplitudeInteriorNight=0.42
|
||||||
ShadowQuality=1
|
ShadowQuality=1
|
||||||
EnableShadowNoise=true
|
EnableShadowNoise=true
|
||||||
SunLightingMultiplier=0.82
|
SunLightingMultiplier=0.83
|
||||||
WetMultiplier=0.42
|
WetMultiplier=0.86
|
||||||
Muddiness=0.31
|
Muddiness=0.25
|
||||||
EnablePreCache=true
|
EnablePreCache=true
|
||||||
EnableVolumetricShadow=true
|
EnableVolumetricShadow=true
|
||||||
DisplacementFilterQuality=1
|
DisplacementFilterQuality=1
|
||||||
|
|
@ -725,57 +720,57 @@ EnableBlurring=true
|
||||||
EnableReflection=true
|
EnableReflection=true
|
||||||
EnableShadow=true
|
EnableShadow=true
|
||||||
ShadowQuality=1
|
ShadowQuality=1
|
||||||
DispersionAmount=0.96
|
DispersionAmount=0.93
|
||||||
ReflectionAmount=0.97
|
ReflectionAmount=0.64
|
||||||
TransparencyFade=3.56
|
TransparencyFade=1.88
|
||||||
TransparencyCurve=1.03
|
TransparencyCurve=1.32
|
||||||
DeepnessFade=3.88
|
DeepnessFade=3.88
|
||||||
DeepnessDarkening=0.93
|
DeepnessDarkening=0.93
|
||||||
TintAmount=3.27
|
TintAmount=3.31
|
||||||
TintFade=4.7
|
TintFade=4.66
|
||||||
SunScatteringMultiplier=1.68
|
SunScatteringMultiplier=1.68
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
[CLOUDSHADOWS]
|
[CLOUDSHADOWS]
|
||||||
EnableAtNight=true
|
EnableAtNight=true
|
||||||
OpacitySunrise=0.73
|
OpacitySunrise=0.85
|
||||||
OpacityDay=0.57
|
OpacityDay=0.57
|
||||||
OpacitySunset=0.76
|
OpacitySunset=0.86
|
||||||
OpacityNight=0.91
|
OpacityNight=0.96
|
||||||
OpacityInteriorDay=0.62
|
OpacityInteriorDay=0.62
|
||||||
OpacityInteriorNight=0.98
|
OpacityInteriorNight=0.98
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
[VOLUMETRICRAYS]
|
[VOLUMETRICRAYS]
|
||||||
Quality=1
|
Quality=1
|
||||||
IntensitySunrise=0.67
|
IntensitySunrise=0.36
|
||||||
IntensityDay=0.42
|
IntensityDay=0.19
|
||||||
IntensitySunset=0.77
|
IntensitySunset=0.45
|
||||||
IntensityNight=0.41
|
IntensityNight=0.1
|
||||||
IntensityInteriorDay=0.58
|
IntensityInteriorDay=0.53
|
||||||
IntensityInteriorNight=0.5
|
IntensityInteriorNight=0.2
|
||||||
DensitySunrise=1.76
|
DensitySunrise=4.35
|
||||||
DensityDay=0.94
|
DensityDay=3.66
|
||||||
DensitySunset=1.6
|
DensitySunset=4.72
|
||||||
DensityNight=0.62
|
DensityNight=3.63
|
||||||
DensityInteriorDay=1.44
|
DensityInteriorDay=1.44
|
||||||
DensityInteriorNight=0.51
|
DensityInteriorNight=0.51
|
||||||
SkyColorAmountSunrise=0.89
|
SkyColorAmountSunrise=0.53
|
||||||
SkyColorAmountDay=0.69
|
SkyColorAmountDay=0.32
|
||||||
SkyColorAmountSunset=0.87
|
SkyColorAmountSunset=0.67
|
||||||
SkyColorAmountNight=0.72
|
SkyColorAmountNight=0.16
|
||||||
SkyColorAmountInteriorDay=0.63
|
SkyColorAmountInteriorDay=0.4
|
||||||
SkyColorAmountInteriorNight=0.78
|
SkyColorAmountInteriorNight=0.3
|
||||||
IgnoreWeatherSystem=true
|
IgnoreWeatherSystem=true
|
||||||
[PROCEDURALSUN]
|
[PROCEDURALSUN]
|
||||||
Size=0.68
|
Size=0.84
|
||||||
EdgeSoftness=0.51
|
EdgeSoftness=0.62
|
||||||
GlowIntensitySunrise=0.88
|
GlowIntensitySunrise=1.38
|
||||||
GlowIntensityDay=0.57
|
GlowIntensityDay=1.14
|
||||||
GlowIntensitySunset=0.89
|
GlowIntensitySunset=0.86
|
||||||
GlowIntensityNight=0.16
|
GlowIntensityNight=0.3
|
||||||
GlowIntensityInteriorDay=0.95
|
GlowIntensityInteriorDay=5.27
|
||||||
GlowIntensityInteriorNight=0.09
|
GlowIntensityInteriorNight=0.09
|
||||||
GlowCurveSunrise=9.68
|
GlowCurveSunrise=9.67
|
||||||
GlowCurveDay=7.46
|
GlowCurveDay=7.01
|
||||||
GlowCurveSunset=8.29
|
GlowCurveSunset=8.29
|
||||||
GlowCurveNight=1.85
|
GlowCurveNight=1.85
|
||||||
GlowCurveInteriorDay=9.31
|
GlowCurveInteriorDay=9.31
|
||||||
|
|
|
||||||
|
|
@ -1,165 +0,0 @@
|
||||||
[EFFECT.TXT]
|
|
||||||
TECHNIQUE=0
|
|
||||||
EnableFXAA=false
|
|
||||||
FXAASpanMax=2.0
|
|
||||||
FXAAReduceMul=32.0
|
|
||||||
FXAAReduceMin=128.0
|
|
||||||
BlurEnable=false
|
|
||||||
BlurSampleNight=1.0
|
|
||||||
BlurSampleDay=0.86
|
|
||||||
BlurSampleInteriorNight=0.93
|
|
||||||
BlurSampleInteriorDay=0.75
|
|
||||||
BlurLevel=1
|
|
||||||
BlurPowerNight=14.95
|
|
||||||
BlurPowerDay=11.57
|
|
||||||
BlurPowerInteriorNight=16.059999
|
|
||||||
BlurPowerInteriorDay=12.22
|
|
||||||
BlurCurveNight=1.45
|
|
||||||
BlurCurveDay=1.53
|
|
||||||
BlurCurveInteriorNight=1.32
|
|
||||||
BlurCurveInteriorDay=1.49
|
|
||||||
BlurRadiusNight=0.68
|
|
||||||
BlurRadiusDay=0.62
|
|
||||||
BlurRadiusInteriorNight=0.74
|
|
||||||
BlurRadiusInteriorDay=0.7
|
|
||||||
DarkEnable=true
|
|
||||||
DarkRadiusNight=0.35
|
|
||||||
DarkRadiusDay=0.25
|
|
||||||
DarkRadiusInteriorNight=0.45
|
|
||||||
DarkRadiusInteriorDay=0.3
|
|
||||||
DarkCurveNight=2.16
|
|
||||||
DarkCurveDay=2.45
|
|
||||||
DarkCurveInteriorNight=1.95
|
|
||||||
DarkCurveInteriorDay=2.34
|
|
||||||
DarkBumpNight=0.79
|
|
||||||
DarkBumpDay=0.62
|
|
||||||
DarkBumpInteriorNight=0.9
|
|
||||||
DarkBumpInteriorDay=0.82
|
|
||||||
EnableCompensate=true
|
|
||||||
CompensateFactorNight=0.65
|
|
||||||
CompensateFactorDay=0.72
|
|
||||||
CompensateFactorInteriorNight=0.71
|
|
||||||
CompensateFactorInteriorDay=0.78
|
|
||||||
CompensatePowerNight=1.14
|
|
||||||
CompensatePowerDay=1.18
|
|
||||||
CompensatePowerInteriorNight=1.16
|
|
||||||
CompensatePowerInteriorDay=1.23
|
|
||||||
CompensateSaturationNight=0.86
|
|
||||||
CompensateSaturationDay=0.41
|
|
||||||
CompensateSaturationInteriorNight=0.82
|
|
||||||
CompensateSaturationInteriorDay=0.49
|
|
||||||
CompensateBumpNight=0.0
|
|
||||||
CompensateBumpDay=0.0
|
|
||||||
CompensateBumpInteriorNight=0.0
|
|
||||||
CompensateBumpInteriorDay=0.0
|
|
||||||
EnableGrading=true
|
|
||||||
GradingAddRNight=0.0
|
|
||||||
GradingAddGNight=0.0
|
|
||||||
GradingAddBNight=0.0
|
|
||||||
GradingAddRDay=0.0
|
|
||||||
GradingAddGDay=0.0
|
|
||||||
GradingAddBDay=0.0
|
|
||||||
GradingAddRInteriorNight=0.0
|
|
||||||
GradingAddGInteriorNight=0.0
|
|
||||||
GradingAddBInteriorNight=0.0
|
|
||||||
GradingAddRInteriorDay=0.0
|
|
||||||
GradingAddGInteriorDay=0.0
|
|
||||||
GradingAddBInteriorDay=0.0
|
|
||||||
GradingMulRNight=3.01
|
|
||||||
GradingMulGNight=3.12
|
|
||||||
GradingMulBNight=3.24
|
|
||||||
GradingMulRDay=3.42
|
|
||||||
GradingMulGDay=3.34
|
|
||||||
GradingMulBDay=3.24
|
|
||||||
GradingMulRInteriorNight=3.57
|
|
||||||
GradingMulGInteriorNight=3.43
|
|
||||||
GradingMulBInteriorNight=3.27
|
|
||||||
GradingMulRInteriorDay=3.67
|
|
||||||
GradingMulGInteriorDay=3.56
|
|
||||||
GradingMulBInteriorDay=3.48
|
|
||||||
GradingPowRNight=1.03
|
|
||||||
GradingPowGNight=1.01
|
|
||||||
GradingPowBNight=0.95
|
|
||||||
GradingPowRDay=1.23
|
|
||||||
GradingPowGDay=1.2
|
|
||||||
GradingPowBDay=1.14
|
|
||||||
GradingPowRInteriorNight=1.07
|
|
||||||
GradingPowGInteriorNight=1.02
|
|
||||||
GradingPowBInteriorNight=0.97
|
|
||||||
GradingPowRInteriorDay=1.21
|
|
||||||
GradingPowGInteriorDay=1.16
|
|
||||||
GradingPowBInteriorDay=1.11
|
|
||||||
GradingColRNight=-0.21
|
|
||||||
GradingColGNight=-0.28
|
|
||||||
GradingColBNight=-1.41
|
|
||||||
GradingColRDay=-0.8
|
|
||||||
GradingColGDay=-0.2
|
|
||||||
GradingColBDay=-0.62
|
|
||||||
GradingColRInteriorNight=-0.52
|
|
||||||
GradingColGInteriorNight=-0.3
|
|
||||||
GradingColBInteriorNight=-1.37
|
|
||||||
GradingColRInteriorDay=-0.52
|
|
||||||
GradingColGInteriorDay=-0.36
|
|
||||||
GradingColBInteriorDay=-0.72
|
|
||||||
GradingColFactorNight=-0.27
|
|
||||||
GradingColFactorDay=-0.16
|
|
||||||
GradingColFactorInteriorNight=-0.24
|
|
||||||
GradingColFactorInteriorDay=-0.12
|
|
||||||
EnableSoftGrain=false
|
|
||||||
SoftGrainSpeedNight=0.02
|
|
||||||
SoftGrainSpeedDay=0.07
|
|
||||||
SoftGrainSpeedInteriorNight=0.01
|
|
||||||
SoftGrainSpeedInteriorDay=0.03
|
|
||||||
SoftGrainIntensityNight=0.03
|
|
||||||
SoftGrainIntensityDay=0.01
|
|
||||||
SoftGrainIntensityInteriorNight=0.03
|
|
||||||
SoftGrainIntensityInteriorDay=0.01
|
|
||||||
SoftGrainSaturationNight=-0.22
|
|
||||||
SoftGrainSaturationDay=-0.18
|
|
||||||
SoftGrainSaturationInteriorNight=-0.24
|
|
||||||
SoftGrainSaturationInteriorDay=-0.31
|
|
||||||
SoftGrainTwopass=false
|
|
||||||
SoftGrainBlendfunc=1
|
|
||||||
SoftGrainDeviation=0.05
|
|
||||||
SoftGrainMagnification1=13.69
|
|
||||||
SoftGrainMagnification2=19.26
|
|
||||||
SoftGrainMagnification3=17.889999
|
|
||||||
SoftGrainMagnification11=2.05
|
|
||||||
SoftGrainMagnification12=3.11
|
|
||||||
SoftGrainMagnification13=2.22
|
|
||||||
SoftGrainMagnification21=4.25
|
|
||||||
SoftGrainMagnification22=0.42
|
|
||||||
SoftGrainMagnification23=6.29
|
|
||||||
SoftGrainPowerNight=2.16
|
|
||||||
SoftGrainPowerDay=5.22
|
|
||||||
SoftGrainPowerInteriorNight=2.59
|
|
||||||
SoftGrainPowerInteriorDay=4.7
|
|
||||||
EnableBlockGFX=false
|
|
||||||
BlockGFXResolutionW=1.0
|
|
||||||
BlockGFXResolutionH=1.0
|
|
||||||
BlockGFXpalette=0
|
|
||||||
BlockGFXcgamode=0
|
|
||||||
BlockGFXegamode=1
|
|
||||||
BlockGFXDither=5
|
|
||||||
BlockGFXPrepassGamma=0.25
|
|
||||||
BlockGFXDitherBump=-0.5
|
|
||||||
BlockGFXDitherMultiplier=0.5
|
|
||||||
BlockGFXPrepassSaturation=-0.0
|
|
||||||
EnableDirt=false
|
|
||||||
DirtCoordFactor=0.25
|
|
||||||
DirtLuminanceFactor=0.0
|
|
||||||
DirtCoordMagnification=2.0
|
|
||||||
DirtLuminanceMagnification=1.0
|
|
||||||
EnableBox=true
|
|
||||||
BoxHorizontal=1.5
|
|
||||||
BoxVertical=0.85
|
|
||||||
BoxSoften=0.01
|
|
||||||
BoxAlpha=5.999999
|
|
||||||
EnableCurvature=false
|
|
||||||
CurveChromaticAberration=0.06
|
|
||||||
CurveZoom=50.299999
|
|
||||||
CurveLens=0.0
|
|
||||||
CurveLensCubic=0.0
|
|
||||||
EnableSharpen=true
|
|
||||||
SharpenSample=0.2
|
|
||||||
SharpenBlend=1.0
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
enbbloom.fx : MariENB bloom filter.
|
enbbloom.fx : MariENB bloom filter.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* do not touch this! */
|
/* do not touch this! */
|
||||||
#define E_SHADER_3_0
|
#define E_SHADER_3_0
|
||||||
|
|
@ -1,11 +1,18 @@
|
||||||
[ENBBLOOM.FX]
|
[ENBBLOOM.FX]
|
||||||
TECHNIQUE=0
|
TECHNIQUE=0
|
||||||
PreEnable=true
|
BloomIntensityNight=0.99
|
||||||
PreSample=1.0
|
BloomIntensityDay=0.33
|
||||||
PreLevel=1
|
BloomIntensityInteriorNight=0.97
|
||||||
PostSample=1.000001
|
BloomIntensityInteriorDay=0.94
|
||||||
PostLevel=1
|
BloomBumpNight=-0.07
|
||||||
BloomIntensity=0.4
|
BloomBumpDay=-0.19
|
||||||
BloomBump=-0.1
|
BloomBumpInteriorNight=-0.1
|
||||||
BloomPower=1.5
|
BloomBumpInteriorDay=-0.13
|
||||||
BloomSaturation=0.75
|
BloomPowerNight=1.09
|
||||||
|
BloomPowerDay=1.4
|
||||||
|
BloomPowerInteriorNight=1.13
|
||||||
|
BloomPowerInteriorDay=1.19
|
||||||
|
BloomSaturationNight=0.86
|
||||||
|
BloomSaturationDay=0.78
|
||||||
|
BloomSaturationInteriorNight=0.91
|
||||||
|
BloomSaturationInteriorDay=0.85
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
enbeffect.fx : MariENB base shader.
|
enbeffect.fx : MariENB base shader.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* do not touch this! */
|
/* do not touch this! */
|
||||||
#define E_SHADER_3_0
|
#define E_SHADER_3_0
|
||||||
|
|
@ -1,28 +1,78 @@
|
||||||
[ENBEFFECT.FX]
|
[ENBEFFECT.FX]
|
||||||
TECHNIQUE=0
|
TECHNIQUE=0
|
||||||
EnableAdaptation=true
|
CompensateFactorNight=0.22
|
||||||
AdaptationMinNight=0.89
|
CompensateFactorDay=0.4
|
||||||
AdaptationMinDay=0.09
|
CompensateFactorInteriorNight=0.32
|
||||||
AdaptationMinInteriorNight=1.12
|
CompensateFactorInteriorDay=0.45
|
||||||
AdaptationMinInteriorDay=0.14
|
CompensatePowerNight=1.16
|
||||||
AdaptationMaxNight=0.5
|
CompensatePowerDay=1.11
|
||||||
AdaptationMaxDay=0.94
|
CompensatePowerInteriorNight=1.1
|
||||||
AdaptationMaxInteriorNight=0.02
|
CompensatePowerInteriorDay=1.05
|
||||||
AdaptationMaxInteriorDay=1.08
|
CompensateSaturationNight=0.86
|
||||||
EnableTonemapping=true
|
CompensateSaturationDay=0.87
|
||||||
TonemappingNight=1.13
|
CompensateSaturationInteriorNight=0.97
|
||||||
TonemappingDay=1.64
|
CompensateSaturationInteriorDay=0.99
|
||||||
TonemappingInteriorNight=1.25
|
GradingMulRNight=1.32
|
||||||
TonemappingInteriorDay=1.37
|
GradingMulGNight=1.25
|
||||||
TonemappingOversaturationNight=26.289999
|
GradingMulBNight=1.45
|
||||||
TonemappingOversaturationDay=10.95
|
GradingMulRDay=1.7
|
||||||
TonemappingOversaturationInteriorNight=22.74
|
GradingMulGDay=1.45
|
||||||
TonemappingOversaturationInteriorDay=15.83
|
GradingMulBDay=1.29
|
||||||
EnablePalette=true
|
GradingMulRInteriorNight=1.46
|
||||||
PaletteBlendNight=0.19
|
GradingMulGInteriorNight=1.52
|
||||||
PaletteBlendDay=0.33
|
GradingMulBInteriorNight=1.55
|
||||||
PaletteBlendInteriorNight=0.25
|
GradingMulRInteriorDay=1.53
|
||||||
PaletteBlendInteriorDay=0.45
|
GradingMulGInteriorDay=1.51
|
||||||
EnableBloomSoften=true
|
GradingMulBInteriorDay=1.41
|
||||||
BloomSoftenLevel=1
|
GradingPowRNight=1.02
|
||||||
BloomSoftenRadius=1.0
|
GradingPowGNight=1.06
|
||||||
|
GradingPowBNight=1.03
|
||||||
|
GradingPowRDay=1.09
|
||||||
|
GradingPowGDay=1.08
|
||||||
|
GradingPowBDay=1.05
|
||||||
|
GradingPowRInteriorNight=1.08
|
||||||
|
GradingPowGInteriorNight=1.11
|
||||||
|
GradingPowBInteriorNight=1.06
|
||||||
|
GradingPowRInteriorDay=1.03
|
||||||
|
GradingPowGInteriorDay=1.06
|
||||||
|
GradingPowBInteriorDay=1.0
|
||||||
|
GradingColRNight=-0.59
|
||||||
|
GradingColGNight=-0.26
|
||||||
|
GradingColBNight=-0.73
|
||||||
|
GradingColRDay=-0.62
|
||||||
|
GradingColGDay=-0.1
|
||||||
|
GradingColBDay=-0.81
|
||||||
|
GradingColRInteriorNight=-0.19
|
||||||
|
GradingColGInteriorNight=-0.18
|
||||||
|
GradingColBInteriorNight=-0.62
|
||||||
|
GradingColRInteriorDay=-0.22
|
||||||
|
GradingColGInteriorDay=-0.21
|
||||||
|
GradingColBInteriorDay=-0.33
|
||||||
|
GradingColFactorNight=-0.2
|
||||||
|
GradingColFactorDay=-0.14
|
||||||
|
GradingColFactorInteriorNight=-0.08
|
||||||
|
GradingColFactorInteriorDay=-0.12
|
||||||
|
DarkRadiusNight=0.0
|
||||||
|
DarkRadiusDay=0.0
|
||||||
|
DarkRadiusInteriorNight=0.0
|
||||||
|
DarkRadiusInteriorDay=0.0
|
||||||
|
DarkCurveNight=1.7
|
||||||
|
DarkCurveDay=2.3
|
||||||
|
DarkCurveInteriorNight=1.35
|
||||||
|
DarkCurveInteriorDay=1.67
|
||||||
|
DarkBumpNight=0.74
|
||||||
|
DarkBumpDay=0.33
|
||||||
|
DarkBumpInteriorNight=0.82
|
||||||
|
DarkBumpInteriorDay=0.61
|
||||||
|
BoxVertical=1.0
|
||||||
|
BoxSoften=0.0
|
||||||
|
BoxAlpha=1.0
|
||||||
|
AdaptationMinNight=0.11
|
||||||
|
AdaptationMinDay=0.07
|
||||||
|
AdaptationMinInteriorNight=0.07
|
||||||
|
AdaptationMinInteriorDay=0.06
|
||||||
|
AdaptationMaxNight=1.02
|
||||||
|
AdaptationMaxDay=1.24
|
||||||
|
AdaptationMaxInteriorNight=0.9
|
||||||
|
AdaptationMaxInteriorDay=0.89
|
||||||
|
BloomSoften=false
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
enbeffectprepass.fx : MariENB pre-pass filters.
|
enbeffectprepass.fx : MariENB pre-pass filters.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* do not touch this! */
|
/* do not touch this! */
|
||||||
#define E_SHADER_3_0
|
#define E_SHADER_3_0
|
||||||
|
|
@ -10,4 +10,3 @@
|
||||||
#include "menbprepasssettings.fx"
|
#include "menbprepasssettings.fx"
|
||||||
#include "menbprepassinternals.fx"
|
#include "menbprepassinternals.fx"
|
||||||
#include "menbprepassfilters.fx"
|
#include "menbprepassfilters.fx"
|
||||||
|
|
||||||
|
|
@ -1,50 +1,58 @@
|
||||||
[ENBEFFECTPREPASS.FX]
|
[ENBEFFECTPREPASS.FX]
|
||||||
TECHNIQUE=0
|
TECHNIQUE=0
|
||||||
CelEnable=true
|
DoFPowNight=2.02
|
||||||
CelMode=0
|
DoFPowDay=2.2
|
||||||
CelRadius=0.5
|
DoFPowInteriorNight=3.46
|
||||||
CelPower=0.25
|
DoFPowInteriorDay=3.69
|
||||||
CelBump=0.0
|
DoFDebug=false
|
||||||
CelBlend=2.5
|
DoFMultNight=319.23999
|
||||||
SSAOEnable=true
|
DoFMultDay=295.160004
|
||||||
SSAODebug=0
|
DoFMultInteriorNight=281.079987
|
||||||
SSAORadius=16.0
|
DoFMultInteriorDay=246.229996
|
||||||
SSAOBump=0.0
|
|
||||||
SSAOPower=4.0
|
|
||||||
SSAOBlend=1.25
|
|
||||||
SSAONoise=1.0
|
|
||||||
DoFEnable=true
|
|
||||||
DoFRadius=1.5
|
|
||||||
DoFBump=0.0
|
|
||||||
DoFPow=3.0
|
|
||||||
DoFBlend=1.0
|
|
||||||
DoFCut=0.0
|
|
||||||
DoFDebug=0
|
|
||||||
CelMult=2.0
|
|
||||||
SSAOMult=2.0
|
|
||||||
DoFMult=12.000001
|
|
||||||
DoFLevel=1
|
|
||||||
FocusCircleEnable=true
|
FocusCircleEnable=true
|
||||||
FocusCircleSlices=3
|
FocusCircleRadiusNight=20.0
|
||||||
FocusCircleRadius=10.0
|
FocusCircleRadiusDay=25.0
|
||||||
FocusCircleCircles=1
|
FocusCircleRadiusInteriorNight=15.0
|
||||||
FocusDotDebugRadius=0.01
|
FocusCircleRadiusInteriorDay=20.0
|
||||||
FocusCircleStep=0.25
|
FocusCircleMixNight=0.4
|
||||||
FocusCircleOffset=0.0
|
FocusCircleMixDay=0.5
|
||||||
FocusCircleMix=0.25
|
FocusCircleMixInteriorNight=0.35
|
||||||
SSAONormalOffset1=0.0
|
FocusCircleMixInteriorDay=0.45
|
||||||
SSAONormalOffset2=0.01
|
FocusMaxNight=990.350037
|
||||||
SSAONormalOffset3=0.01
|
FocusMaxDay=994.340027
|
||||||
SSAONormalOffset4=0.0
|
FocusMaxInteriorNight=984.919983
|
||||||
SSAONoiseSize=64.0
|
FocusMaxInteriorDay=989.539978
|
||||||
SSAOBlurEnable=true
|
DoFFixedFocusedMultNight=1.0
|
||||||
SSAOBlurRadius=1.0
|
DoFFixedFocusedMultDay=1.0
|
||||||
SSAOBlurLevel=2
|
DoFFixedFocusedMultInteriorNight=1.0
|
||||||
SSAOTrim=1.0
|
DoFFixedFocusedMultInteriorDay=1.0
|
||||||
SSAOFadeBump=0.0
|
DoFFixedFocusedPowNight=1.0
|
||||||
SSAOFadeMult=0.5
|
DoFFixedFocusedPowDay=1.0
|
||||||
SSAOFadePow=1.0
|
DoFFixedFocusedPowInteriorNight=1.0
|
||||||
CelTrim=1.01
|
DoFFixedFocusedPowInteriorDay=1.0
|
||||||
CelFade=2.5
|
DoFFixedFocusedBlendNight=0.0
|
||||||
SSAOFade=0.6
|
DoFFixedFocusedBlendDay=0.0
|
||||||
DoFTrim=1.01
|
DoFFixedFocusedBlendInteriorNight=0.0
|
||||||
|
DoFFixedFocusedBlendInteriorDay=0.0
|
||||||
|
DoFFixedUnfocusedMultNight=1.6
|
||||||
|
DoFFixedUnfocusedMultDay=1.5
|
||||||
|
DoFFixedUnfocusedMultInteriorNight=1.3
|
||||||
|
DoFFixedUnfocusedMultInteriorDay=1.18
|
||||||
|
DoFFixedUnfocusedPowNight=956.559998
|
||||||
|
DoFFixedUnfocusedPowDay=983.109985
|
||||||
|
DoFFixedUnfocusedPowInteriorNight=962.349976
|
||||||
|
DoFFixedUnfocusedPowInteriorDay=979.340027
|
||||||
|
DoFFixedUnfocusedBlendNight=1.0
|
||||||
|
DoFFixedUnfocusedBlendDay=1.0
|
||||||
|
DoFFixedUnfocusedBlendInteriorNight=1.0
|
||||||
|
DoFFixedUnfocusedBlendInteriorDay=1.0
|
||||||
|
DoFTwoPass=false
|
||||||
|
EdgeDisable=true
|
||||||
|
EdgeView=false
|
||||||
|
EdgeFadePower=1.6
|
||||||
|
EdgeFadeMultiplier=16.0
|
||||||
|
EdgePower=1.5
|
||||||
|
EdgeMultiplier=32.0
|
||||||
|
DoFDisable=false
|
||||||
|
DoFSmoothing=false
|
||||||
|
DoFCutoff=false
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,27 @@
|
||||||
enblens.fx : MariENB Lens filters.
|
enblens.fx : MariENB Lens filters.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
This shader left unimplemented. Development of the filter is a massive pain
|
||||||
|
in the ass thanks to the incompetence of a certain individual named Boris
|
||||||
|
Vorontsov and the major breakage of his ENB project.
|
||||||
|
|
||||||
|
Lots of blind debugging are necessary to get the goddamn thing to compile,
|
||||||
|
and from the looks of it the filter, which works flawlessly on MariEFX, is
|
||||||
|
completely unportable to this massive bag of dicks. After DAYS of
|
||||||
|
selectively commenting out code, the only way it can compile is if the
|
||||||
|
shader does NOTHING. For ever minor change to the code, five minutes of
|
||||||
|
waiting are needed so the entire thing recompiles! FIVE MINUTES! Just how
|
||||||
|
can you fuck up that badly? By comparison eFX takes mere seconds to reload
|
||||||
|
everything on the considerably more complex MariEFX project, but this... I
|
||||||
|
can't imagine what awful programming resulted in such a terrible bottleneck.
|
||||||
|
|
||||||
|
tl;dr: Fuck you, Boris.
|
||||||
|
|
||||||
|
-- Marisa
|
||||||
*/
|
*/
|
||||||
/* Effects have yet to be implemented. Sorry for the inconvenience. */
|
|
||||||
struct VS_OUTPUT_POST
|
struct VS_OUTPUT_POST
|
||||||
{
|
{
|
||||||
float4 vpos : POSITION;
|
float4 vpos : POSITION;
|
||||||
BIN
enbseries/enbpalette.bmp
Normal file
|
After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
|
|
@ -2,9 +2,9 @@
|
||||||
enbsunsprite.fx : MariENB sun sprite filters.
|
enbsunsprite.fx : MariENB sun sprite filters.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* Effects have yet to be implemented. Sorry for the inconvenience. */
|
/* This shader intentionally does nothing */
|
||||||
struct VS_OUTPUT_POST
|
struct VS_OUTPUT_POST
|
||||||
{
|
{
|
||||||
float4 vpos : POSITION;
|
float4 vpos : POSITION;
|
||||||
153
enbseries/menbbloomfilters.fx
Normal file
|
|
@ -0,0 +1,153 @@
|
||||||
|
/*
|
||||||
|
menbbloomfilters.fx : MariENB bloom shader routines.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
VS_OUTPUT_POST VS_Bloom(VS_INPUT_POST IN)
|
||||||
|
{
|
||||||
|
VS_OUTPUT_POST OUT;
|
||||||
|
float4 pos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1);
|
||||||
|
OUT.vpos = pos;
|
||||||
|
OUT.txcoord0.xy = IN.txcoord0.xy+TempParameters.xy;
|
||||||
|
return OUT;
|
||||||
|
}
|
||||||
|
/* pre-pass bloom texture preparation */
|
||||||
|
float4 PS_BloomPrePass(VS_OUTPUT_POST In) : COLOR
|
||||||
|
{
|
||||||
|
float tod = ENightDayFactor;
|
||||||
|
float ind = EInteriorFactor;
|
||||||
|
float bloombump = lerp(lerp(bloombump_n,bloombump_d,tod),
|
||||||
|
lerp(bloombump_in,bloombump_id,tod),ind);
|
||||||
|
float bloompower = lerp(lerp(bloompower_n,bloompower_d,tod),
|
||||||
|
lerp(bloompower_in,bloompower_id,tod),ind);
|
||||||
|
float bloomsaturation = lerp(lerp(bloomsaturation_n,bloomsaturation_d,
|
||||||
|
tod),lerp(bloomsaturation_in,bloomsaturation_id,tod),ind);
|
||||||
|
float bloomintensity = lerp(lerp(bloomintensity_n,bloomintensity_d,
|
||||||
|
tod),lerp(bloomintensity_in,bloomintensity_id,tod),ind);
|
||||||
|
float2 coord = In.txcoord0.xy;
|
||||||
|
float4 res = tex2D(SamplerBloom1,coord);
|
||||||
|
res = pow(saturate(res+bloombump),bloompower);
|
||||||
|
float ress = (res.r+res.g+res.b)/3.0;
|
||||||
|
res = res*bloomsaturation+ress*(1.0-bloomsaturation);
|
||||||
|
res.rgb *= bloomintensity;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
multipass (cannot specify how many bloom textures to use, so considerable
|
||||||
|
performance rape. good job, boris)
|
||||||
|
*/
|
||||||
|
float4 PS_BloomTexture(VS_OUTPUT_POST In) : COLOR
|
||||||
|
{
|
||||||
|
float2 coord = In.txcoord0.xy;
|
||||||
|
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||||
|
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*pow(4,TempParameters.w);
|
||||||
|
/* loop unrolled for speeding up compilation (this is retarded) */
|
||||||
|
float4 res;
|
||||||
|
res = gauss7[3][3]*tex2D(SamplerBloom1,coord+float2(-3,-3)*bof);
|
||||||
|
res += gauss7[2][3]*tex2D(SamplerBloom1,coord+float2(-2,-3)*bof);
|
||||||
|
res += gauss7[1][3]*tex2D(SamplerBloom1,coord+float2(-1,-3)*bof);
|
||||||
|
res += gauss7[0][3]*tex2D(SamplerBloom1,coord+float2(0,-3)*bof);
|
||||||
|
res += gauss7[1][3]*tex2D(SamplerBloom1,coord+float2(1,-3)*bof);
|
||||||
|
res += gauss7[2][3]*tex2D(SamplerBloom1,coord+float2(2,-3)*bof);
|
||||||
|
res += gauss7[3][3]*tex2D(SamplerBloom1,coord+float2(3,-3)*bof);
|
||||||
|
res += gauss7[3][2]*tex2D(SamplerBloom1,coord+float2(-3,-2)*bof);
|
||||||
|
res += gauss7[2][2]*tex2D(SamplerBloom1,coord+float2(-2,-2)*bof);
|
||||||
|
res += gauss7[1][2]*tex2D(SamplerBloom1,coord+float2(-1,-2)*bof);
|
||||||
|
res += gauss7[0][2]*tex2D(SamplerBloom1,coord+float2(0,-2)*bof);
|
||||||
|
res += gauss7[1][2]*tex2D(SamplerBloom1,coord+float2(1,-2)*bof);
|
||||||
|
res += gauss7[2][2]*tex2D(SamplerBloom1,coord+float2(2,-2)*bof);
|
||||||
|
res += gauss7[3][2]*tex2D(SamplerBloom1,coord+float2(3,-2)*bof);
|
||||||
|
res += gauss7[3][1]*tex2D(SamplerBloom1,coord+float2(-3,-1)*bof);
|
||||||
|
res += gauss7[2][1]*tex2D(SamplerBloom1,coord+float2(-2,-1)*bof);
|
||||||
|
res += gauss7[1][1]*tex2D(SamplerBloom1,coord+float2(-1,-1)*bof);
|
||||||
|
res += gauss7[0][1]*tex2D(SamplerBloom1,coord+float2(0,-1)*bof);
|
||||||
|
res += gauss7[1][1]*tex2D(SamplerBloom1,coord+float2(1,-1)*bof);
|
||||||
|
res += gauss7[2][1]*tex2D(SamplerBloom1,coord+float2(2,-1)*bof);
|
||||||
|
res += gauss7[3][1]*tex2D(SamplerBloom1,coord+float2(3,-1)*bof);
|
||||||
|
res += gauss7[3][0]*tex2D(SamplerBloom1,coord+float2(-3,0)*bof);
|
||||||
|
res += gauss7[2][0]*tex2D(SamplerBloom1,coord+float2(-2,0)*bof);
|
||||||
|
res += gauss7[1][0]*tex2D(SamplerBloom1,coord+float2(-1,0)*bof);
|
||||||
|
res += gauss7[0][0]*tex2D(SamplerBloom1,coord+float2(0,0)*bof);
|
||||||
|
res += gauss7[1][0]*tex2D(SamplerBloom1,coord+float2(1,0)*bof);
|
||||||
|
res += gauss7[2][0]*tex2D(SamplerBloom1,coord+float2(2,0)*bof);
|
||||||
|
res += gauss7[3][0]*tex2D(SamplerBloom1,coord+float2(3,0)*bof);
|
||||||
|
res += gauss7[3][1]*tex2D(SamplerBloom1,coord+float2(-3,1)*bof);
|
||||||
|
res += gauss7[2][1]*tex2D(SamplerBloom1,coord+float2(-2,1)*bof);
|
||||||
|
res += gauss7[1][1]*tex2D(SamplerBloom1,coord+float2(-1,1)*bof);
|
||||||
|
res += gauss7[0][1]*tex2D(SamplerBloom1,coord+float2(0,1)*bof);
|
||||||
|
res += gauss7[1][1]*tex2D(SamplerBloom1,coord+float2(1,1)*bof);
|
||||||
|
res += gauss7[2][1]*tex2D(SamplerBloom1,coord+float2(2,1)*bof);
|
||||||
|
res += gauss7[3][1]*tex2D(SamplerBloom1,coord+float2(3,1)*bof);
|
||||||
|
res += gauss7[3][2]*tex2D(SamplerBloom1,coord+float2(-3,2)*bof);
|
||||||
|
res += gauss7[2][2]*tex2D(SamplerBloom1,coord+float2(-2,2)*bof);
|
||||||
|
res += gauss7[1][2]*tex2D(SamplerBloom1,coord+float2(-1,2)*bof);
|
||||||
|
res += gauss7[0][2]*tex2D(SamplerBloom1,coord+float2(0,2)*bof);
|
||||||
|
res += gauss7[1][2]*tex2D(SamplerBloom1,coord+float2(1,2)*bof);
|
||||||
|
res += gauss7[2][2]*tex2D(SamplerBloom1,coord+float2(2,2)*bof);
|
||||||
|
res += gauss7[3][2]*tex2D(SamplerBloom1,coord+float2(3,2)*bof);
|
||||||
|
res += gauss7[3][3]*tex2D(SamplerBloom1,coord+float2(-3,3)*bof);
|
||||||
|
res += gauss7[2][3]*tex2D(SamplerBloom1,coord+float2(-2,3)*bof);
|
||||||
|
res += gauss7[1][3]*tex2D(SamplerBloom1,coord+float2(-1,3)*bof);
|
||||||
|
res += gauss7[0][3]*tex2D(SamplerBloom1,coord+float2(0,3)*bof);
|
||||||
|
res += gauss7[1][3]*tex2D(SamplerBloom1,coord+float2(1,3)*bof);
|
||||||
|
res += gauss7[2][3]*tex2D(SamplerBloom1,coord+float2(2,3)*bof);
|
||||||
|
res += gauss7[3][3]*tex2D(SamplerBloom1,coord+float2(3,3)*bof);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
/* end pass */
|
||||||
|
float4 PS_BloomPostPass(VS_OUTPUT_POST In) : COLOR
|
||||||
|
{
|
||||||
|
float2 coord = In.txcoord0.xy;
|
||||||
|
float4 res = (tex2D(SamplerBloom1,coord)+tex2D(SamplerBloom2,coord)
|
||||||
|
+tex2D(SamplerBloom3,coord)+tex2D(SamplerBloom4,coord)
|
||||||
|
+tex2D(SamplerBloom5,coord)+tex2D(SamplerBloom6,coord)
|
||||||
|
+tex2D(SamplerBloom7,coord)+tex2D(SamplerBloom8,coord))*0.125;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
/* techniques */
|
||||||
|
technique BloomPrePass
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Bloom();
|
||||||
|
PixelShader = compile ps_3_0 PS_BloomPrePass();
|
||||||
|
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
||||||
|
CullMode = NONE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
AlphaTestEnable = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique BloomTexture1
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Bloom();
|
||||||
|
PixelShader = compile ps_3_0 PS_BloomTexture();
|
||||||
|
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
||||||
|
CullMode = NONE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
AlphaTestEnable = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique BloomPostPass
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Bloom();
|
||||||
|
PixelShader = compile ps_3_0 PS_BloomPostPass();
|
||||||
|
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
||||||
|
CullMode = NONE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
AlphaTestEnable = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,20 +2,9 @@
|
||||||
menbbloominternals.fx : MariENB bloom internal variables.
|
menbbloominternals.fx : MariENB bloom internal variables.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* gaussian blur matrices */
|
/* gaussian blur matrices */
|
||||||
static const float2x2 gauss3 =
|
|
||||||
{
|
|
||||||
0.16,0.12,
|
|
||||||
0.12,0.09
|
|
||||||
};
|
|
||||||
static const float3x3 gauss5 =
|
|
||||||
{
|
|
||||||
0.0865051903114,0.0692041522491,0.0346020761246,
|
|
||||||
0.0692041522491,0.0553633217993,0.0276816609,
|
|
||||||
0.0346020761246,0.0276816609,0.01384083045
|
|
||||||
};
|
|
||||||
static const float4x4 gauss7 =
|
static const float4x4 gauss7 =
|
||||||
{
|
{
|
||||||
0.0632507440209,0.0527089533508,0.0301194019147,0.011294775718,
|
0.0632507440209,0.0527089533508,0.0301194019147,0.011294775718,
|
||||||
|
|
@ -23,18 +12,12 @@ static const float4x4 gauss7 =
|
||||||
0.0301194019147,0.0250995015956,0.01434257234,0.00537846462763,
|
0.0301194019147,0.0250995015956,0.01434257234,0.00537846462763,
|
||||||
0.011294775718,0.00941231309835,0.00537846462763,0.00201692423536
|
0.011294775718,0.00941231309835,0.00537846462763,0.00201692423536
|
||||||
};
|
};
|
||||||
/* standard stuff (not all used) */
|
/* standard stuff */
|
||||||
float4 tempF1;
|
|
||||||
float4 tempF2;
|
|
||||||
float4 tempF3;
|
|
||||||
float4 ScreenSize;
|
float4 ScreenSize;
|
||||||
float4 Timer;
|
|
||||||
float4 TempParameters;
|
float4 TempParameters;
|
||||||
float4 LenzParameters;
|
|
||||||
float4 BloomParameters;
|
|
||||||
float ENightDayFactor;
|
float ENightDayFactor;
|
||||||
float EInteriorFactor;
|
float EInteriorFactor;
|
||||||
/* samplers and textures (some left unused) */
|
/* samplers and textures */
|
||||||
texture2D texBloom1;
|
texture2D texBloom1;
|
||||||
texture2D texBloom2;
|
texture2D texBloom2;
|
||||||
texture2D texBloom3;
|
texture2D texBloom3;
|
||||||
90
enbseries/menbbloomsettings.fx
Normal file
|
|
@ -0,0 +1,90 @@
|
||||||
|
/*
|
||||||
|
menbbloomsettings.fx : MariENB bloom user-tweakable variables.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
/* bloom intensity */
|
||||||
|
float bloomintensity_n
|
||||||
|
<
|
||||||
|
string UIName = "BloomIntensityNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float bloomintensity_d
|
||||||
|
<
|
||||||
|
string UIName = "BloomIntensityDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float bloomintensity_in
|
||||||
|
<
|
||||||
|
string UIName = "BloomIntensityInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float bloomintensity_id
|
||||||
|
<
|
||||||
|
string UIName = "BloomIntensityInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
/* bloom power */
|
||||||
|
float bloompower_n
|
||||||
|
<
|
||||||
|
string UIName = "BloomPowerNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.4};
|
||||||
|
float bloompower_d
|
||||||
|
<
|
||||||
|
string UIName = "BloomPowerDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.4};
|
||||||
|
float bloompower_in
|
||||||
|
<
|
||||||
|
string UIName = "BloomPowerInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.4};
|
||||||
|
float bloompower_id
|
||||||
|
<
|
||||||
|
string UIName = "BloomPowerInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.4};
|
||||||
|
/* bloom saturation */
|
||||||
|
float bloomsaturation_n
|
||||||
|
<
|
||||||
|
string UIName = "BloomSaturationNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.3};
|
||||||
|
float bloomsaturation_d
|
||||||
|
<
|
||||||
|
string UIName = "BloomSaturationDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.3};
|
||||||
|
float bloomsaturation_in
|
||||||
|
<
|
||||||
|
string UIName = "BloomSaturationInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.3};
|
||||||
|
float bloomsaturation_id
|
||||||
|
<
|
||||||
|
string UIName = "BloomSaturationInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.3};
|
||||||
|
/* bloom offset */
|
||||||
|
float bloombump_n
|
||||||
|
<
|
||||||
|
string UIName = "BloomBumpNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.10};
|
||||||
|
float bloombump_d
|
||||||
|
<
|
||||||
|
string UIName = "BloomBumpDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.10};
|
||||||
|
float bloombump_in
|
||||||
|
<
|
||||||
|
string UIName = "BloomBumpInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.10};
|
||||||
|
float bloombump_id
|
||||||
|
<
|
||||||
|
string UIName = "BloomBumpInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.10};
|
||||||
221
enbseries/menbeffectfilters.fx
Normal file
|
|
@ -0,0 +1,221 @@
|
||||||
|
/*
|
||||||
|
menbeffectfilters.fx : MariENB base shader routines.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
|
||||||
|
{
|
||||||
|
VS_OUTPUT_POST OUT;
|
||||||
|
OUT.vpos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
|
||||||
|
OUT.txcoord0.xy = IN.txcoord0.xy;
|
||||||
|
return OUT;
|
||||||
|
}
|
||||||
|
/* MariENB shader */
|
||||||
|
float4 PS_Mari( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
||||||
|
{
|
||||||
|
float2 coord = IN.txcoord0.xy;
|
||||||
|
float4 res = tex2D(_s0,coord);
|
||||||
|
float tod = ENightDayFactor;
|
||||||
|
float ind = EInteriorFactor;
|
||||||
|
/* Border darken, commonly known as "vignette" */
|
||||||
|
float2 bresl = float2(1.0,ScreenSize.w);
|
||||||
|
float dkradius = lerp(lerp(dkradius_n,dkradius_d,tod),lerp(dkradius_in,
|
||||||
|
dkradius_id,tod),ind);
|
||||||
|
float dkbump = lerp(lerp(dkbump_n,dkbump_d,tod),lerp(dkbump_in,
|
||||||
|
dkbump_id,tod),ind);
|
||||||
|
float dkcurve = lerp(lerp(dkcurve_n,dkcurve_d,tod),lerp(dkcurve_in,
|
||||||
|
dkcurve_id,tod),ind);
|
||||||
|
float2 bof = bresl*dkradius;
|
||||||
|
float val = 0.0;
|
||||||
|
if ( coord.x < bof.x )
|
||||||
|
val = lerp(val,1,1.0-coord.x/bof.x);
|
||||||
|
if ( coord.y < bof.y )
|
||||||
|
val = lerp(val,1,1.0-coord.y/bof.y);
|
||||||
|
if ( 1.0-coord.x < bof.x )
|
||||||
|
val = lerp(val,1,1.0-(1.0-coord.x)/bof.x);
|
||||||
|
if ( 1.0-coord.y < bof.y )
|
||||||
|
val = lerp(val,1,1.0-(1.0-coord.y)/bof.y);
|
||||||
|
val = clamp(val*dkbump,0,1);
|
||||||
|
res.rgb = lerp(res.rgb,float3(0,0,0),pow(val,dkcurve));
|
||||||
|
/* adaptation */
|
||||||
|
float4 adapt = tex2D(_s4,0.5);
|
||||||
|
float adapts = clamp((adapt.r+adapt.g+adapt.b)/3.0,0.0,50.0);
|
||||||
|
float amin = lerp(lerp(amin_n,amin_d,tod),lerp(amin_in,amin_id,tod),
|
||||||
|
ind);
|
||||||
|
float amax = lerp(lerp(amax_n,amax_d,tod),lerp(amax_in,amax_id,tod),
|
||||||
|
ind);
|
||||||
|
res.rgb = res.rgb/(adapts*amax+amin);
|
||||||
|
/* color grading prepass overbright/oversaturation compensation */
|
||||||
|
float comppow = lerp(lerp(comppow_n,comppow_d,tod),lerp(comppow_in,
|
||||||
|
comppow_id,tod),ind);
|
||||||
|
float compsat = lerp(lerp(compsat_n,compsat_d,tod),lerp(compsat_in,
|
||||||
|
compsat_id,tod),ind);
|
||||||
|
float compfactor = lerp(lerp(compfactor_n,compfactor_d,tod),
|
||||||
|
lerp(compfactor_in,compfactor_id,tod),ind);
|
||||||
|
float4 ovr = pow(res,comppow);
|
||||||
|
float ovrs = (ovr.r+ovr.g+ovr.b)/3.0;
|
||||||
|
ovr = ovr*compsat+ovrs*(1.0-compsat);
|
||||||
|
res.rgb -= ovr.rgb*compfactor;
|
||||||
|
/* screen mud goes here */
|
||||||
|
if ( softbloom )
|
||||||
|
{
|
||||||
|
bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||||
|
bof = float2(1.0/bresl.x,1.0/bresl.y);
|
||||||
|
res += gauss5[2][2]*tex2D(_s3,coord+float2(-2,-2)*bof);
|
||||||
|
res += gauss5[1][2]*tex2D(_s3,coord+float2(-1,-2)*bof);
|
||||||
|
res += gauss5[0][2]*tex2D(_s3,coord+float2(0,-2)*bof);
|
||||||
|
res += gauss5[1][2]*tex2D(_s3,coord+float2(1,-2)*bof);
|
||||||
|
res += gauss5[2][2]*tex2D(_s3,coord+float2(2,-2)*bof);
|
||||||
|
res += gauss5[2][1]*tex2D(_s3,coord+float2(-2,-1)*bof);
|
||||||
|
res += gauss5[1][1]*tex2D(_s3,coord+float2(-1,-1)*bof);
|
||||||
|
res += gauss5[0][1]*tex2D(_s3,coord+float2(0,-1)*bof);
|
||||||
|
res += gauss5[1][1]*tex2D(_s3,coord+float2(1,-1)*bof);
|
||||||
|
res += gauss5[2][1]*tex2D(_s3,coord+float2(2,-1)*bof);
|
||||||
|
res += gauss5[2][0]*tex2D(_s3,coord+float2(-2,0)*bof);
|
||||||
|
res += gauss5[1][0]*tex2D(_s3,coord+float2(-1,0)*bof);
|
||||||
|
res += gauss5[0][0]*tex2D(_s3,coord+float2(0,0)*bof);
|
||||||
|
res += gauss5[1][0]*tex2D(_s3,coord+float2(1,0)*bof);
|
||||||
|
res += gauss5[2][0]*tex2D(_s3,coord+float2(2,0)*bof);
|
||||||
|
res += gauss5[2][1]*tex2D(_s3,coord+float2(-2,1)*bof);
|
||||||
|
res += gauss5[1][1]*tex2D(_s3,coord+float2(-1,1)*bof);
|
||||||
|
res += gauss5[0][1]*tex2D(_s3,coord+float2(0,1)*bof);
|
||||||
|
res += gauss5[1][1]*tex2D(_s3,coord+float2(1,1)*bof);
|
||||||
|
res += gauss5[2][1]*tex2D(_s3,coord+float2(2,1)*bof);
|
||||||
|
res += gauss5[2][2]*tex2D(_s3,coord+float2(-2,2)*bof);
|
||||||
|
res += gauss5[1][2]*tex2D(_s3,coord+float2(-1,2)*bof);
|
||||||
|
res += gauss5[0][2]*tex2D(_s3,coord+float2(0,2)*bof);
|
||||||
|
res += gauss5[1][2]*tex2D(_s3,coord+float2(1,2)*bof);
|
||||||
|
res += gauss5[2][2]*tex2D(_s3,coord+float2(2,2)*bof);
|
||||||
|
res *= EBloomAmount;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
res += tex2D(_s3,coord)*EBloomAmount;
|
||||||
|
/*
|
||||||
|
color grading (brightness, contrast, gamma, tinting, everything you
|
||||||
|
could ever need)
|
||||||
|
*/
|
||||||
|
float grademul_r = lerp(lerp(grademul_r_n,grademul_r_d,tod),
|
||||||
|
lerp(grademul_r_in,grademul_r_id,tod),ind);
|
||||||
|
float grademul_g = lerp(lerp(grademul_g_n,grademul_g_d,tod),
|
||||||
|
lerp(grademul_g_in,grademul_g_id,tod),ind);
|
||||||
|
float grademul_b = lerp(lerp(grademul_b_n,grademul_b_d,tod),
|
||||||
|
lerp(grademul_b_in,grademul_b_id,tod),ind);
|
||||||
|
float gradepow_r = lerp(lerp(gradepow_r_n,gradepow_r_d,tod),
|
||||||
|
lerp(gradepow_r_in,gradepow_r_id,tod),ind);
|
||||||
|
float gradepow_g = lerp(lerp(gradepow_g_n,gradepow_g_d,tod),
|
||||||
|
lerp(gradepow_g_in,gradepow_g_id,tod),ind);
|
||||||
|
float gradepow_b = lerp(lerp(gradepow_b_n,gradepow_b_d,tod),
|
||||||
|
lerp(gradepow_b_in,gradepow_b_id,tod),ind);
|
||||||
|
float gradecol_r = lerp(lerp(gradecol_r_n,gradecol_r_d,tod),
|
||||||
|
lerp(gradecol_r_in,gradecol_r_id,tod),ind);
|
||||||
|
float gradecol_g = lerp(lerp(gradecol_g_n,gradecol_g_d,tod),
|
||||||
|
lerp(gradecol_g_in,gradecol_g_id,tod),ind);
|
||||||
|
float gradecol_b = lerp(lerp(gradecol_b_n,gradecol_b_d,tod),
|
||||||
|
lerp(gradecol_b_in,gradecol_b_id,tod),ind);
|
||||||
|
float gradecolfact = lerp(lerp(gradecolfact_n,gradecolfact_d,
|
||||||
|
tod),lerp(gradecolfact_in,gradecolfact_id,tod),ind);
|
||||||
|
float3 grademul = float3(grademul_r,grademul_g,grademul_b);
|
||||||
|
float3 gradepow = float3(gradepow_r,gradepow_g,gradepow_b);
|
||||||
|
float3 gradecol = float3(gradecol_r,gradecol_g,gradecol_b);
|
||||||
|
res.rgb = saturate(pow(res.rgb,gradepow));
|
||||||
|
res.rgb = saturate(res.rgb*grademul);
|
||||||
|
float tonev = (res.r+res.g+res.b)/3.0;
|
||||||
|
float3 tonecolor = gradecol*tonev;
|
||||||
|
res.rgb = res.rgb*(1.0-gradecolfact)+tonecolor*gradecolfact;
|
||||||
|
/* letterbox filter */
|
||||||
|
res.rgb = saturate(res.rgb);
|
||||||
|
float boxf = pow(clamp(boxv-abs(2.0*coord.y-1.0),0.0,1.0),boxb);
|
||||||
|
res.rgb = lerp(res.rgb*(1.0-boxa),res.rgb,boxf);
|
||||||
|
res.a = 1.0;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
So... let me get this straight... rather than simply switching techniques,
|
||||||
|
Boris just compiles the program twice with and without this macro, then
|
||||||
|
toggling "UseEffect" switches between each variation? What the fuck?
|
||||||
|
*/
|
||||||
|
#ifndef ENB_FLIPTECHNIQUE
|
||||||
|
technique Shader_D6EC7DD1
|
||||||
|
#else
|
||||||
|
technique Shader_ORIGINALPOSTPROCESS
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_Mari();
|
||||||
|
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
||||||
|
ZEnable = FALSE;
|
||||||
|
ZWriteEnable = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
AlphaTestEnable = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#ifndef ENB_FLIPTECHNIQUE
|
||||||
|
technique Shader_ORIGINALPOSTPROCESS
|
||||||
|
#else
|
||||||
|
technique Shader_D6EC7DD1
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
/*
|
||||||
|
>2014
|
||||||
|
>inline assembly
|
||||||
|
Have to keep this part intact, sadly
|
||||||
|
Boris what the fuck have you done
|
||||||
|
*/
|
||||||
|
PixelShader = asm
|
||||||
|
{
|
||||||
|
ps_3_0
|
||||||
|
def c6,0,0,0,0
|
||||||
|
def c7,0.212500006,0.715399981,0.0720999986,1
|
||||||
|
dcl_texcoord v0.xy
|
||||||
|
dcl_2d s0
|
||||||
|
dcl_2d s1
|
||||||
|
dcl_2d s2
|
||||||
|
rcp r0.x,c2.y
|
||||||
|
texld r1,v0,s2
|
||||||
|
mul r0.yz,r1.xxyw,c1.y
|
||||||
|
rcp r0.w,r0.y
|
||||||
|
mul r0.z,r0.w,r0.z
|
||||||
|
texld r1,v0,s1
|
||||||
|
mul r1.xyz,r1,c1.y
|
||||||
|
dp3 r0.w,c7,r1
|
||||||
|
mul r1.w,r0.w,r0.z
|
||||||
|
mad r0.z,r0.z,r0.w,c7.w
|
||||||
|
rcp r0.z,r0.z
|
||||||
|
mad r0.x,r1.w,r0.x,c7.w
|
||||||
|
mul r0.x,r0.x,r1.w
|
||||||
|
mul r0.x,r0.z,r0.x
|
||||||
|
cmp r0.x,-r0.w,c6.x,r0.x
|
||||||
|
rcp r0.z,r0.w
|
||||||
|
mul r0.z,r0.z,r0.x
|
||||||
|
add_sat r0.x,-r0.x,c2.x
|
||||||
|
texld r2,v0,s0
|
||||||
|
mul r2.xyz,r2,c1.y
|
||||||
|
mul r2.xyz,r0.x,r2
|
||||||
|
mad r1.xyz,r1,r0.z,r2
|
||||||
|
dp3 r0.x,r1,c7
|
||||||
|
mov r1.w,c7.w
|
||||||
|
lrp r2,c3.x,r1,r0.x
|
||||||
|
mad r1,r0.x,c4,-r2
|
||||||
|
mad r1,c4.w,r1,r2
|
||||||
|
mad r1,c3.w,r1,-r0.y
|
||||||
|
mad r0,c3.z,r1,r0.y
|
||||||
|
add r1,-r0,c5
|
||||||
|
mad oC0,c5.w,r1,r0
|
||||||
|
};
|
||||||
|
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
||||||
|
ZEnable = FALSE;
|
||||||
|
ZWriteEnable = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
AlphaTestEnable = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,37 +2,21 @@
|
||||||
menbeffectinternals.fx : MariENB base internal variables.
|
menbeffectinternals.fx : MariENB base internal variables.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* gaussian blur matrices */
|
/* gaussian blur matrices */
|
||||||
static const float2x2 gauss3 =
|
|
||||||
{
|
|
||||||
0.16,0.12,
|
|
||||||
0.12,0.09
|
|
||||||
};
|
|
||||||
static const float3x3 gauss5 =
|
static const float3x3 gauss5 =
|
||||||
{
|
{
|
||||||
0.0865051903114,0.0692041522491,0.0346020761246,
|
0.0865051903114,0.0692041522491,0.0346020761246,
|
||||||
0.0692041522491,0.0553633217993,0.0276816609,
|
0.0692041522491,0.0553633217993,0.0276816609,
|
||||||
0.0346020761246,0.0276816609,0.01384083045
|
0.0346020761246,0.0276816609,0.01384083045
|
||||||
};
|
};
|
||||||
static const float4x4 gauss7 =
|
/* standard stuff */
|
||||||
{
|
|
||||||
0.0632507440209,0.0527089533508,0.0301194019147,0.011294775718,
|
|
||||||
0.0527089533508,0.0439241277923,0.0250995015956,0.00941231309835,
|
|
||||||
0.0301194019147,0.0250995015956,0.01434257234,0.00537846462763,
|
|
||||||
0.011294775718,0.00941231309835,0.00537846462763,0.00201692423536
|
|
||||||
};
|
|
||||||
/* standard stuff (not all used) */
|
|
||||||
float4 tempF1;
|
|
||||||
float4 tempF2;
|
|
||||||
float4 tempF3;
|
|
||||||
float4 Timer;
|
|
||||||
float4 ScreenSize;
|
float4 ScreenSize;
|
||||||
float ENightDayFactor;
|
float ENightDayFactor;
|
||||||
float EInteriorFactor;
|
float EInteriorFactor;
|
||||||
float EBloomAmount;
|
float EBloomAmount;
|
||||||
/* samplers and textures (some unused) */
|
/* samplers and textures */
|
||||||
texture2D texs0;
|
texture2D texs0;
|
||||||
texture2D texs1;
|
texture2D texs1;
|
||||||
texture2D texs2;
|
texture2D texs2;
|
||||||
|
|
@ -54,8 +38,8 @@ sampler2D _s0 = sampler_state
|
||||||
sampler2D _s1 = sampler_state
|
sampler2D _s1 = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texs1>;
|
Texture = <texs1>;
|
||||||
MinFilter = POINT;
|
MinFilter = LINEAR;
|
||||||
MagFilter = POINT;
|
MagFilter = LINEAR;
|
||||||
MipFilter = NONE;
|
MipFilter = NONE;
|
||||||
AddressU = Clamp;
|
AddressU = Clamp;
|
||||||
AddressV = Clamp;
|
AddressV = Clamp;
|
||||||
|
|
@ -66,8 +50,8 @@ sampler2D _s1 = sampler_state
|
||||||
sampler2D _s2 = sampler_state
|
sampler2D _s2 = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texs2>;
|
Texture = <texs2>;
|
||||||
MinFilter = POINT;
|
MinFilter = LINEAR;
|
||||||
MagFilter = POINT;
|
MagFilter = LINEAR;
|
||||||
MipFilter = NONE;
|
MipFilter = NONE;
|
||||||
AddressU = Clamp;
|
AddressU = Clamp;
|
||||||
AddressV = Clamp;
|
AddressV = Clamp;
|
||||||
|
|
@ -78,8 +62,8 @@ sampler2D _s2 = sampler_state
|
||||||
sampler2D _s3 = sampler_state
|
sampler2D _s3 = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texs3>;
|
Texture = <texs3>;
|
||||||
MinFilter = POINT;
|
MinFilter = LINEAR;
|
||||||
MagFilter = POINT;
|
MagFilter = LINEAR;
|
||||||
MipFilter = NONE;
|
MipFilter = NONE;
|
||||||
AddressU = Clamp;
|
AddressU = Clamp;
|
||||||
AddressV = Clamp;
|
AddressV = Clamp;
|
||||||
|
|
@ -90,8 +74,8 @@ sampler2D _s3 = sampler_state
|
||||||
sampler2D _s4 = sampler_state
|
sampler2D _s4 = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texs4>;
|
Texture = <texs4>;
|
||||||
MinFilter = POINT;
|
MinFilter = LINEAR;
|
||||||
MagFilter = POINT;
|
MagFilter = LINEAR;
|
||||||
MipFilter = NONE;
|
MipFilter = NONE;
|
||||||
AddressU = Clamp;
|
AddressU = Clamp;
|
||||||
AddressV = Clamp;
|
AddressV = Clamp;
|
||||||
|
|
@ -102,8 +86,8 @@ sampler2D _s4 = sampler_state
|
||||||
sampler2D _s7 = sampler_state
|
sampler2D _s7 = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texs7>;
|
Texture = <texs7>;
|
||||||
MinFilter = POINT;
|
MinFilter = LINEAR;
|
||||||
MagFilter = POINT;
|
MagFilter = LINEAR;
|
||||||
MipFilter = NONE;
|
MipFilter = NONE;
|
||||||
AddressU = Clamp;
|
AddressU = Clamp;
|
||||||
AddressV = Clamp;
|
AddressV = Clamp;
|
||||||
402
enbseries/menbeffectsettings.fx
Normal file
|
|
@ -0,0 +1,402 @@
|
||||||
|
/*
|
||||||
|
menbeffectsettings.fx : MariENB base user-tweakable variables.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
/* Border darkening */
|
||||||
|
/* radius of darkening (relative to screen width) */
|
||||||
|
float dkradius_n
|
||||||
|
<
|
||||||
|
string UIName = "DarkRadiusNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.40};
|
||||||
|
float dkradius_d
|
||||||
|
<
|
||||||
|
string UIName = "DarkRadiusDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.29};
|
||||||
|
float dkradius_in
|
||||||
|
<
|
||||||
|
string UIName = "DarkRadiusInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.50};
|
||||||
|
float dkradius_id
|
||||||
|
<
|
||||||
|
string UIName = "DarkRadiusInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.39};
|
||||||
|
/* falloff of darkening */
|
||||||
|
float dkcurve_n
|
||||||
|
<
|
||||||
|
string UIName = "DarkCurveNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.70};
|
||||||
|
float dkcurve_d
|
||||||
|
<
|
||||||
|
string UIName = "DarkCurveDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {2.30};
|
||||||
|
float dkcurve_in
|
||||||
|
<
|
||||||
|
string UIName = "DarkCurveInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.35};
|
||||||
|
float dkcurve_id
|
||||||
|
<
|
||||||
|
string UIName = "DarkCurveInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.67};
|
||||||
|
/* bump of darkening */
|
||||||
|
float dkbump_n
|
||||||
|
<
|
||||||
|
string UIName = "DarkBumpNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.74};
|
||||||
|
float dkbump_d
|
||||||
|
<
|
||||||
|
string UIName = "DarkBumpDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.33};
|
||||||
|
float dkbump_in
|
||||||
|
<
|
||||||
|
string UIName = "DarkBumpInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.82};
|
||||||
|
float dkbump_id
|
||||||
|
<
|
||||||
|
string UIName = "DarkBumpInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.61};
|
||||||
|
/* Adaptation */
|
||||||
|
float amin_n
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMinNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.20};
|
||||||
|
float amin_d
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMinDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.09};
|
||||||
|
float amin_in
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMinInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.17};
|
||||||
|
float amin_id
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMinInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.10};
|
||||||
|
float amax_n
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMaxNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.21};
|
||||||
|
float amax_d
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMaxDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.94};
|
||||||
|
float amax_in
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMaxInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.26};
|
||||||
|
float amax_id
|
||||||
|
<
|
||||||
|
string UIName = "AdaptationMaxInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.91};
|
||||||
|
/* Shine/bloom compensation */
|
||||||
|
/* compensation factor */
|
||||||
|
float compfactor_n
|
||||||
|
<
|
||||||
|
string UIName = "CompensateFactorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.23};
|
||||||
|
float compfactor_d
|
||||||
|
<
|
||||||
|
string UIName = "CompensateFactorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.46};
|
||||||
|
float compfactor_in
|
||||||
|
<
|
||||||
|
string UIName = "CompensateFactorInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.30};
|
||||||
|
float compfactor_id
|
||||||
|
<
|
||||||
|
string UIName = "CompensateFactorInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.39};
|
||||||
|
/* compensation power */
|
||||||
|
float comppow_n
|
||||||
|
<
|
||||||
|
string UIName = "CompensatePowerNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.08};
|
||||||
|
float comppow_d
|
||||||
|
<
|
||||||
|
string UIName = "CompensatePowerDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.11};
|
||||||
|
float comppow_in
|
||||||
|
<
|
||||||
|
string UIName = "CompensatePowerInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.05};
|
||||||
|
float comppow_id
|
||||||
|
<
|
||||||
|
string UIName = "CompensatePowerInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.14};
|
||||||
|
/* compensation saturation */
|
||||||
|
float compsat_n
|
||||||
|
<
|
||||||
|
string UIName = "CompensateSaturationNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.97};
|
||||||
|
float compsat_d
|
||||||
|
<
|
||||||
|
string UIName = "CompensateSaturationDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.85};
|
||||||
|
float compsat_in
|
||||||
|
<
|
||||||
|
string UIName = "CompensateSaturationInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.89};
|
||||||
|
float compsat_id
|
||||||
|
<
|
||||||
|
string UIName = "CompensateSaturationInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.74};
|
||||||
|
/* Color grading */
|
||||||
|
/* miscellaneous color grading parameters */
|
||||||
|
float grademul_r_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulRNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.04};
|
||||||
|
float grademul_g_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulGNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.08};
|
||||||
|
float grademul_b_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulBNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.15};
|
||||||
|
float grademul_r_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulRDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.66};
|
||||||
|
float grademul_g_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulGDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.45};
|
||||||
|
float grademul_b_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulBDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.29};
|
||||||
|
float grademul_r_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulRInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.35};
|
||||||
|
float grademul_g_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulGInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.18};
|
||||||
|
float grademul_b_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulBInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.22};
|
||||||
|
float grademul_r_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulRInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.71};
|
||||||
|
float grademul_g_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulGInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.60};
|
||||||
|
float grademul_b_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingMulBInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.41};
|
||||||
|
float gradepow_r_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowRNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.02};
|
||||||
|
float gradepow_g_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowGNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.06};
|
||||||
|
float gradepow_b_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowBNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.03};
|
||||||
|
float gradepow_r_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowRDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.09};
|
||||||
|
float gradepow_g_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowGDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.08};
|
||||||
|
float gradepow_b_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowBDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.05};
|
||||||
|
float gradepow_r_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowRInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.08};
|
||||||
|
float gradepow_g_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowGInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.11};
|
||||||
|
float gradepow_b_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowBInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.06};
|
||||||
|
float gradepow_r_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowRInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.05};
|
||||||
|
float gradepow_g_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowGInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.04};
|
||||||
|
float gradepow_b_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingPowBInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.04};
|
||||||
|
float gradecol_r_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingColRNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.59};
|
||||||
|
float gradecol_g_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingColGNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.26};
|
||||||
|
float gradecol_b_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingColBNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.73};
|
||||||
|
float gradecol_r_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingColRDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.62};
|
||||||
|
float gradecol_g_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingColGDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.10};
|
||||||
|
float gradecol_b_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingColBDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.81};
|
||||||
|
float gradecol_r_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingColRInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.41};
|
||||||
|
float gradecol_g_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingColGInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.18};
|
||||||
|
float gradecol_b_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingColBInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-1.69};
|
||||||
|
float gradecol_r_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingColRInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.60};
|
||||||
|
float gradecol_g_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingColGInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.45};
|
||||||
|
float gradecol_b_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingColBInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.85};
|
||||||
|
float gradecolfact_n
|
||||||
|
<
|
||||||
|
string UIName = "GradingColFactorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.11};
|
||||||
|
float gradecolfact_d
|
||||||
|
<
|
||||||
|
string UIName = "GradingColFactorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.14};
|
||||||
|
float gradecolfact_in
|
||||||
|
<
|
||||||
|
string UIName = "GradingColFactorInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.14};
|
||||||
|
float gradecolfact_id
|
||||||
|
<
|
||||||
|
string UIName = "GradingColFactorInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {-0.20};
|
||||||
|
/* Letterbox */
|
||||||
|
/* vertical factor */
|
||||||
|
float boxv
|
||||||
|
<
|
||||||
|
string UIName = "BoxVertical";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.90};
|
||||||
|
/* softening */
|
||||||
|
float boxb
|
||||||
|
<
|
||||||
|
string UIName = "BoxSoften";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.01};
|
||||||
|
/* box alpha */
|
||||||
|
float boxa
|
||||||
|
<
|
||||||
|
string UIName = "BoxAlpha";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {12.00};
|
||||||
|
/* soften bloom texture */
|
||||||
|
bool softbloom
|
||||||
|
<
|
||||||
|
string UIName = "BloomSoften";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
298
enbseries/menbprepassfilters.fx
Normal file
|
|
@ -0,0 +1,298 @@
|
||||||
|
/*
|
||||||
|
menbprepassfilters.fx : MariENB prepass shader routines.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
|
||||||
|
{
|
||||||
|
VS_OUTPUT_POST OUT;
|
||||||
|
OUT.vpos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
|
||||||
|
OUT.txcoord.xy = IN.txcoord.xy;
|
||||||
|
return OUT;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
Whoever wrote this shit deserves to die a slow, painful death for
|
||||||
|
commiting a crime against good programming. I'm leaving the algorithm
|
||||||
|
itself unaltered so you can see for yourself just how fucking disgusting it
|
||||||
|
is (yes, it says "linearlize").
|
||||||
|
*/
|
||||||
|
float linearlizeDepth( float nonlinearDepth )
|
||||||
|
{
|
||||||
|
float2 dofProj = float2(0.0509804,3098.0392);
|
||||||
|
float2 dofDist = float2(0.0,0.0509804);
|
||||||
|
float4 depth = nonlinearDepth;
|
||||||
|
depth.y = -dofProj.x+dofProj.y;
|
||||||
|
depth.y = 1.0/depth.y;
|
||||||
|
depth.z = depth.y*dofProj.y;
|
||||||
|
depth.z = depth.z*-dofProj.x;
|
||||||
|
depth.x = dofProj.y*-depth.y+depth.x;
|
||||||
|
depth.x = 1.0/depth.x;
|
||||||
|
depth.y = depth.z*depth.x;
|
||||||
|
depth.x = depth.z*depth.x-dofDist.y;
|
||||||
|
depth.x += dofDist.x*-0.5;
|
||||||
|
depth.x = max(depth.x,0.0);
|
||||||
|
return depth.x;
|
||||||
|
}
|
||||||
|
#define depthlinear(x) linearlizeDepth(tex2D(SamplerDepth,x).r)
|
||||||
|
/* New and improved edge detection, generally useful for contour shading */
|
||||||
|
float4 PS_Edge( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
||||||
|
{
|
||||||
|
float2 coord = IN.txcoord.xy;
|
||||||
|
if ( noedge )
|
||||||
|
return tex2D(SamplerColor,coord);
|
||||||
|
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||||
|
float2 bof = float2(1.0/bresl.x,1.0/bresl.y);
|
||||||
|
float mdx, mdy, mud;
|
||||||
|
/* this reduces texture fetches by half, big difference */
|
||||||
|
float3x3 depths;
|
||||||
|
depths[0][0] = depthlinear(coord+float2(-1,-1)*bof);
|
||||||
|
depths[1][0] = depthlinear(coord+float2(0,-1)*bof);
|
||||||
|
depths[2][0] = depthlinear(coord+float2(1,-1)*bof);
|
||||||
|
depths[0][1] = depthlinear(coord+float2(-1,0)*bof);
|
||||||
|
depths[1][1] = depthlinear(coord);
|
||||||
|
depths[2][1] = depthlinear(coord+float2(1,0)*bof);
|
||||||
|
depths[0][2] = depthlinear(coord+float2(-1,1)*bof);
|
||||||
|
depths[1][2] = depthlinear(coord+float2(0,1)*bof);
|
||||||
|
depths[2][2] = depthlinear(coord+float2(1,1)*bof);
|
||||||
|
mdx = GX[0][0]*depths[0][0];
|
||||||
|
mdx += GX[1][0]*depths[1][0];
|
||||||
|
mdx += GX[2][0]*depths[2][0];
|
||||||
|
mdx += GX[0][1]*depths[0][1];
|
||||||
|
mdx += GX[1][1]*depths[1][1];
|
||||||
|
mdx += GX[2][1]*depths[2][1];
|
||||||
|
mdx += GX[0][2]*depths[0][2];
|
||||||
|
mdx += GX[1][2]*depths[1][2];
|
||||||
|
mdx += GX[2][2]*depths[2][2];
|
||||||
|
mdy = GY[0][0]*depths[0][0];
|
||||||
|
mdy += GY[1][0]*depths[1][0];
|
||||||
|
mdy += GY[2][0]*depths[2][0];
|
||||||
|
mdy += GY[0][1]*depths[0][1];
|
||||||
|
mdy += GY[1][1]*depths[1][1];
|
||||||
|
mdy += GY[2][1]*depths[2][1];
|
||||||
|
mdy += GY[0][2]*depths[0][2];
|
||||||
|
mdy += GY[1][2]*depths[1][2];
|
||||||
|
mdy += GY[2][2]*depths[2][2];
|
||||||
|
mud = pow(mdx*mdx+mdy*mdy,0.5);
|
||||||
|
float fade = 1.0-tex2D(SamplerDepth,coord).x;
|
||||||
|
mud *= saturate(pow(fade,edgefadepow)*edgefademult);
|
||||||
|
mud = saturate(pow(mud,edgepow)*edgemult);
|
||||||
|
float4 res = tex2D(SamplerColor,coord);
|
||||||
|
if ( edgeview )
|
||||||
|
res.rgb = mud;
|
||||||
|
else
|
||||||
|
res.rgb -= mud;
|
||||||
|
return saturate(res);
|
||||||
|
}
|
||||||
|
/* Focus */
|
||||||
|
float4 PS_ReadFocus( VS_OUTPUT_POST IN ) : COLOR
|
||||||
|
{
|
||||||
|
if ( dofdisable )
|
||||||
|
return 0.0;
|
||||||
|
float tod = ENightDayFactor;
|
||||||
|
float ind = EInteriorFactor;
|
||||||
|
float focusmax = lerp(lerp(focusmax_n,focusmax_d,tod),lerp(focusmax_in,
|
||||||
|
focusmax_id,tod),ind);
|
||||||
|
float cfocus = min(tex2D(SamplerDepth,0.5),focusmax*0.001);
|
||||||
|
if ( !focuscircle )
|
||||||
|
return cfocus;
|
||||||
|
float focusradius = lerp(lerp(focusradius_n,focusradius_d,tod),
|
||||||
|
lerp(focusradius_in,focusradius_id,tod),ind);
|
||||||
|
float focusmix = lerp(lerp(focusmix_n,focusmix_d,tod),lerp(focusmix_in,
|
||||||
|
focusmix_id,tod),ind);
|
||||||
|
float step = (1.0/3.0);
|
||||||
|
float mfocus;
|
||||||
|
float2 coord;
|
||||||
|
float2 bof = float2(1.0,ScreenSize.w)*focusradius*0.001;
|
||||||
|
/* unrolled this too... *sigh* */
|
||||||
|
coord.x = 0.5+sin(0.0)*bof.x;
|
||||||
|
coord.y = 0.5+cos(0.0)*bof.y;
|
||||||
|
mfocus = step*min(tex2D(SamplerDepth,coord),focusmax*0.001);
|
||||||
|
coord.x = 0.5+sin(2.0*pi*step)*bof.x;
|
||||||
|
coord.y = 0.5+cos(2.0*pi*step)*bof.y;
|
||||||
|
mfocus += step*min(tex2D(SamplerDepth,coord),focusmax*0.001);
|
||||||
|
coord.x = 0.5+sin(4.0*pi*step)*bof.x;
|
||||||
|
coord.y = 0.5+cos(4.0*pi*step)*bof.y;
|
||||||
|
mfocus += step*min(tex2D(SamplerDepth,coord),focusmax*0.001);
|
||||||
|
cfocus = (1.0-focusmix)*cfocus+focusmix*mfocus;
|
||||||
|
return cfocus;
|
||||||
|
}
|
||||||
|
float4 PS_WriteFocus( VS_OUTPUT_POST IN ) : COLOR
|
||||||
|
{
|
||||||
|
if ( dofdisable )
|
||||||
|
return 0.0;
|
||||||
|
return max(lerp(tex2D(SamplerPrev,0.5).x,tex2D(SamplerCurr,0.5).x,
|
||||||
|
saturate(FadeFactor)),0.0);
|
||||||
|
}
|
||||||
|
/* Depth of Field */
|
||||||
|
float4 PS_DoF( VS_OUTPUT_POST IN, float2 vPos : VPOS, uniform int p ) : COLOR
|
||||||
|
{
|
||||||
|
float2 coord = IN.txcoord.xy;
|
||||||
|
if ( dofdisable || (!doftwopass && (p != 0)) )
|
||||||
|
return tex2D(SamplerColor,coord);
|
||||||
|
float tod = ENightDayFactor;
|
||||||
|
float ind = EInteriorFactor;
|
||||||
|
float dofpow = lerp(lerp(dofpow_n,dofpow_d,tod),lerp(dofpow_in,
|
||||||
|
dofpow_id,tod),ind);
|
||||||
|
float dofmult = lerp(lerp(dofmult_n,dofmult_d,tod),lerp(dofmult_in,
|
||||||
|
dofmult_id,tod),ind);
|
||||||
|
float doffixedfocuspow = lerp(lerp(doffixedfocuspow_n,
|
||||||
|
doffixedfocuspow_d,tod),lerp(doffixedfocuspow_in,
|
||||||
|
doffixedfocuspow_id,tod),ind);
|
||||||
|
float doffixedfocusmult = lerp(lerp(doffixedfocusmult_n,
|
||||||
|
doffixedfocusmult_d,tod),lerp(doffixedfocusmult_in,
|
||||||
|
doffixedfocusmult_id,tod),ind);
|
||||||
|
float doffixedfocusblend = lerp(lerp(doffixedfocusblend_n,
|
||||||
|
doffixedfocusblend_d,tod),lerp(doffixedfocusblend_in,
|
||||||
|
doffixedfocusblend_id,tod),ind);
|
||||||
|
float doffixedunfocuspow = lerp(lerp(doffixedunfocuspow_n,
|
||||||
|
doffixedunfocuspow_d,tod),lerp(doffixedunfocuspow_in,
|
||||||
|
doffixedunfocuspow_id,tod),ind);
|
||||||
|
float doffixedunfocusmult = lerp(lerp(doffixedunfocusmult_n,
|
||||||
|
doffixedunfocusmult_d,tod),lerp(doffixedunfocusmult_in,
|
||||||
|
doffixedunfocusmult_id,tod),ind);
|
||||||
|
float doffixedunfocusblend = lerp(lerp(doffixedunfocusblend_n,
|
||||||
|
doffixedunfocusblend_d,tod),lerp(doffixedunfocusblend_in,
|
||||||
|
doffixedunfocusblend_id,tod),ind);
|
||||||
|
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||||
|
float2 bof = float2(1.0/bresl.x,1.0/bresl.y);
|
||||||
|
float dep;
|
||||||
|
if ( dofsmooth )
|
||||||
|
{
|
||||||
|
dep = gauss3[1][1]*tex2D(SamplerDepth,coord+float2(-1,-1)*bof);
|
||||||
|
dep += gauss3[0][1]*tex2D(SamplerDepth,coord+float2(0,-1)*bof);
|
||||||
|
dep += gauss3[1][1]*tex2D(SamplerDepth,coord+float2(1,-1)*bof);
|
||||||
|
dep += gauss3[1][0]*tex2D(SamplerDepth,coord+float2(-1,0)*bof);
|
||||||
|
dep += gauss3[0][0]*tex2D(SamplerDepth,coord+float2(0,0)*bof);
|
||||||
|
dep += gauss3[1][0]*tex2D(SamplerDepth,coord+float2(1,0)*bof);
|
||||||
|
dep += gauss3[1][1]*tex2D(SamplerDepth,coord+float2(-1,1)*bof);
|
||||||
|
dep += gauss3[0][1]*tex2D(SamplerDepth,coord+float2(0,1)*bof);
|
||||||
|
dep += gauss3[1][1]*tex2D(SamplerDepth,coord+float2(1,1)*bof);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
dep = tex2D(SamplerDepth,coord);
|
||||||
|
float foc = tex2D(SamplerFocus,coord).x;
|
||||||
|
float dfc = abs(dep-foc);
|
||||||
|
float dff = abs(dep);
|
||||||
|
float dfu = dff;
|
||||||
|
dfc = saturate(pow(dfc,dofpow)*dofmult);
|
||||||
|
dff = saturate(pow(dff,doffixedfocuspow)*doffixedfocusmult);
|
||||||
|
dfu = saturate(pow(dfu,doffixedunfocuspow)*doffixedunfocusmult);
|
||||||
|
dfc *= lerp(1.0,dff,doffixedfocusblend);
|
||||||
|
dfc += lerp(0.0,dfu,doffixedunfocusblend);
|
||||||
|
if ( dofcutoff && (dep >= 0.999999) )
|
||||||
|
dfc = 0.0;
|
||||||
|
dfc = saturate(dfc);
|
||||||
|
/* aaand another unrolled loop */
|
||||||
|
float4 res;
|
||||||
|
bof *= pow(2,p);
|
||||||
|
res = gauss5[2][2]*tex2D(SamplerColor,coord+float2(-2,-2)*bof*dfc);
|
||||||
|
res += gauss5[1][2]*tex2D(SamplerColor,coord+float2(-1,-2)*bof*dfc);
|
||||||
|
res += gauss5[0][2]*tex2D(SamplerColor,coord+float2(0,-2)*bof*dfc);
|
||||||
|
res += gauss5[1][2]*tex2D(SamplerColor,coord+float2(1,-2)*bof*dfc);
|
||||||
|
res += gauss5[2][2]*tex2D(SamplerColor,coord+float2(2,-2)*bof*dfc);
|
||||||
|
res += gauss5[2][1]*tex2D(SamplerColor,coord+float2(-2,-1)*bof*dfc);
|
||||||
|
res += gauss5[1][1]*tex2D(SamplerColor,coord+float2(-1,-1)*bof*dfc);
|
||||||
|
res += gauss5[0][1]*tex2D(SamplerColor,coord+float2(0,-1)*bof*dfc);
|
||||||
|
res += gauss5[1][1]*tex2D(SamplerColor,coord+float2(1,-1)*bof*dfc);
|
||||||
|
res += gauss5[2][1]*tex2D(SamplerColor,coord+float2(2,-1)*bof*dfc);
|
||||||
|
res += gauss5[2][0]*tex2D(SamplerColor,coord+float2(-2,0)*bof*dfc);
|
||||||
|
res += gauss5[1][0]*tex2D(SamplerColor,coord+float2(-1,0)*bof*dfc);
|
||||||
|
res += gauss5[0][0]*tex2D(SamplerColor,coord+float2(0,0)*bof*dfc);
|
||||||
|
res += gauss5[1][0]*tex2D(SamplerColor,coord+float2(1,0)*bof*dfc);
|
||||||
|
res += gauss5[2][0]*tex2D(SamplerColor,coord+float2(2,0)*bof*dfc);
|
||||||
|
res += gauss5[2][1]*tex2D(SamplerColor,coord+float2(-2,1)*bof*dfc);
|
||||||
|
res += gauss5[1][1]*tex2D(SamplerColor,coord+float2(-1,1)*bof*dfc);
|
||||||
|
res += gauss5[0][1]*tex2D(SamplerColor,coord+float2(0,1)*bof*dfc);
|
||||||
|
res += gauss5[1][1]*tex2D(SamplerColor,coord+float2(1,1)*bof*dfc);
|
||||||
|
res += gauss5[2][1]*tex2D(SamplerColor,coord+float2(2,1)*bof*dfc);
|
||||||
|
res += gauss5[2][2]*tex2D(SamplerColor,coord+float2(-2,2)*bof*dfc);
|
||||||
|
res += gauss5[1][2]*tex2D(SamplerColor,coord+float2(-1,2)*bof*dfc);
|
||||||
|
res += gauss5[0][2]*tex2D(SamplerColor,coord+float2(0,2)*bof*dfc);
|
||||||
|
res += gauss5[1][2]*tex2D(SamplerColor,coord+float2(1,2)*bof*dfc);
|
||||||
|
res += gauss5[2][2]*tex2D(SamplerColor,coord+float2(2,2)*bof*dfc);
|
||||||
|
if ( dofdebug )
|
||||||
|
return dfc;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
technique ReadFocus
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_ReadFocus();
|
||||||
|
ZENABLE = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
ALPHATESTENABLE = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique WriteFocus
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_WriteFocus();
|
||||||
|
ZENABLE = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
ALPHATESTENABLE = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique PostProcess
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_Edge();
|
||||||
|
DitherEnable = FALSE;
|
||||||
|
ZEnable = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
ALPHATESTENABLE = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
StencilEnable = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique PostProcess2
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_DoF(0);
|
||||||
|
DitherEnable = FALSE;
|
||||||
|
ZEnable = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
ALPHATESTENABLE = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
StencilEnable = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique PostProcess3
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
VertexShader = compile vs_3_0 VS_Pass();
|
||||||
|
PixelShader = compile ps_3_0 PS_DoF(1);
|
||||||
|
DitherEnable = FALSE;
|
||||||
|
ZEnable = FALSE;
|
||||||
|
CullMode = NONE;
|
||||||
|
ALPHATESTENABLE = FALSE;
|
||||||
|
SEPARATEALPHABLENDENABLE = FALSE;
|
||||||
|
AlphaBlendEnable = FALSE;
|
||||||
|
StencilEnable = FALSE;
|
||||||
|
FogEnable = FALSE;
|
||||||
|
SRGBWRITEENABLE = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,10 +2,23 @@
|
||||||
menbprepassinternals.fx : MariENB prepass internal variables.
|
menbprepassinternals.fx : MariENB prepass internal variables.
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
Released under the MIT License.
|
Released under the WTFPL.
|
||||||
*/
|
*/
|
||||||
/* mathematical constants */
|
/* mathematical constants */
|
||||||
static const float pi = 3.1415926535898;
|
static const float pi = 3.1415926535898;
|
||||||
|
/* edge detect factors */
|
||||||
|
static const float3x3 GX =
|
||||||
|
{
|
||||||
|
-1, 0, 1,
|
||||||
|
-2, 0, 2,
|
||||||
|
-1, 0, 1
|
||||||
|
};
|
||||||
|
static const float3x3 GY =
|
||||||
|
{
|
||||||
|
1, 2, 1,
|
||||||
|
0, 0, 0,
|
||||||
|
-1,-2,-1
|
||||||
|
};
|
||||||
/* gaussian blur matrices */
|
/* gaussian blur matrices */
|
||||||
static const float2x2 gauss3 =
|
static const float2x2 gauss3 =
|
||||||
{
|
{
|
||||||
|
|
@ -18,37 +31,15 @@ static const float3x3 gauss5 =
|
||||||
0.0692041522491,0.0553633217993,0.0276816609,
|
0.0692041522491,0.0553633217993,0.0276816609,
|
||||||
0.0346020761246,0.0276816609,0.01384083045
|
0.0346020761246,0.0276816609,0.01384083045
|
||||||
};
|
};
|
||||||
static const float4x4 gauss7 =
|
/* standard stuff */
|
||||||
{
|
|
||||||
0.0632507440209,0.0527089533508,0.0301194019147,0.011294775718,
|
|
||||||
0.0527089533508,0.0439241277923,0.0250995015956,0.00941231309835,
|
|
||||||
0.0301194019147,0.0250995015956,0.01434257234,0.00537846462763,
|
|
||||||
0.011294775718,0.00941231309835,0.00537846462763,0.00201692423536
|
|
||||||
};
|
|
||||||
/* SSAO sample sphere */
|
|
||||||
static const float3 ssao_samples[16] =
|
|
||||||
{
|
|
||||||
float3( 0.5381, 0.1856,-0.4319),float3( 0.1379, 0.2486, 0.4430),
|
|
||||||
float3( 0.3371, 0.5679,-0.0057),float3(-0.6999,-0.0451,-0.0019),
|
|
||||||
float3( 0.0689,-0.1598,-0.8547),float3( 0.0560, 0.0069,-0.1843),
|
|
||||||
float3(-0.0146, 0.1402, 0.0762),float3( 0.0100,-0.1924,-0.0344),
|
|
||||||
float3(-0.3577,-0.5301,-0.4358),float3(-0.3169, 0.1063, 0.0158),
|
|
||||||
float3( 0.0103,-0.5869, 0.0046),float3(-0.0897,-0.4940, 0.3287),
|
|
||||||
float3( 0.7119,-0.0154,-0.0918),float3(-0.0533, 0.0596,-0.5411),
|
|
||||||
float3( 0.0352,-0.0631, 0.5460),float3(-0.4776, 0.2847,-0.0271)
|
|
||||||
};
|
|
||||||
/* standard stuff (not all used) */
|
|
||||||
float4 tempF1;
|
|
||||||
float4 tempF2;
|
|
||||||
float4 tempF3;
|
|
||||||
float4 Timer;
|
|
||||||
float4 ScreenSize;
|
float4 ScreenSize;
|
||||||
|
float ENightDayFactor;
|
||||||
|
float EInteriorFactor;
|
||||||
float FadeFactor;
|
float FadeFactor;
|
||||||
extern float fWaterLevel = 1.0;
|
float4 Timer;
|
||||||
/* samplers and textures (some unused) */
|
/* samplers and textures */
|
||||||
texture2D texColor;
|
texture2D texColor;
|
||||||
texture2D texDepth;
|
texture2D texDepth;
|
||||||
texture2D texNoise;
|
|
||||||
texture2D texFocus;
|
texture2D texFocus;
|
||||||
texture2D texCurr;
|
texture2D texCurr;
|
||||||
texture2D texPrev;
|
texture2D texPrev;
|
||||||
|
|
@ -76,18 +67,6 @@ sampler2D SamplerDepth = sampler_state
|
||||||
MaxMipLevel = 0;
|
MaxMipLevel = 0;
|
||||||
MipMapLodBias = 0;
|
MipMapLodBias = 0;
|
||||||
};
|
};
|
||||||
sampler2D SamplerNoise = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texNoise>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = LINEAR;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Wrap;
|
|
||||||
AddressV = Wrap;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
sampler2D SamplerFocus = sampler_state
|
sampler2D SamplerFocus = sampler_state
|
||||||
{
|
{
|
||||||
Texture = <texFocus>;
|
Texture = <texFocus>;
|
||||||
306
enbseries/menbprepasssettings.fx
Normal file
|
|
@ -0,0 +1,306 @@
|
||||||
|
/*
|
||||||
|
menbprepasssettings.fx : MariENB prepass user-tweakable variables.
|
||||||
|
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
||||||
|
Part of MariENB, the personal ENB of Marisa.
|
||||||
|
Released under the WTFPL.
|
||||||
|
*/
|
||||||
|
/* circle average focus */
|
||||||
|
bool focuscircle
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleEnable";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* radius of the outmost circle */
|
||||||
|
float focusradius_n
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleRadiusNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {12.5};
|
||||||
|
float focusradius_d
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleRadiusDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {12.5};
|
||||||
|
float focusradius_in
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleRadiusInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {12.5};
|
||||||
|
float focusradius_id
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleRadiusInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {12.5};
|
||||||
|
/* mix factor with sample at screen center */
|
||||||
|
float focusmix_n
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleMixNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float focusmix_d
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleMixDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float focusmix_in
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleMixInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
float focusmix_id
|
||||||
|
<
|
||||||
|
string UIName = "FocusCircleMixInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.25};
|
||||||
|
/* maximum focus depth */
|
||||||
|
float focusmax_n
|
||||||
|
<
|
||||||
|
string UIName = "FocusMaxNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float focusmax_d
|
||||||
|
<
|
||||||
|
string UIName = "FocusMaxDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float focusmax_in
|
||||||
|
<
|
||||||
|
string UIName = "FocusMaxInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float focusmax_id
|
||||||
|
<
|
||||||
|
string UIName = "FocusMaxInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* dof filter */
|
||||||
|
/* depth multiplier */
|
||||||
|
float dofmult_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFMultNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofmult_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFMultDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofmult_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFMultInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofmult_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFMultInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* depth power */
|
||||||
|
float dofpow_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFPowNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofpow_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFPowDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofpow_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFPowInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float dofpow_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFPowInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* fixed depth multiplier */
|
||||||
|
float doffixedfocusmult_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedMultNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocusmult_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedMultDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocusmult_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedMultInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocusmult_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedMultInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* fixed depth power */
|
||||||
|
float doffixedfocuspow_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedPowNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocuspow_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedPowDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocuspow_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedPowInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedfocuspow_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedPowInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* fixed depth blending */
|
||||||
|
float doffixedfocusblend_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedBlendNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedfocusblend_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedBlendDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedfocusblend_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedBlendInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedfocusblend_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedFocusedBlendInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedunfocusmult_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedMultNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocusmult_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedMultDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocusmult_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedMultInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocusmult_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedMultInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* fixed depth power */
|
||||||
|
float doffixedunfocuspow_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedPowNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocuspow_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedPowDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocuspow_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedPowInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
float doffixedunfocuspow_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedPowInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
|
/* fixed depth blending */
|
||||||
|
float doffixedunfocusblend_n
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedBlendNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedunfocusblend_d
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedBlendDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedunfocusblend_in
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedBlendInteriorNight";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
float doffixedunfocusblend_id
|
||||||
|
<
|
||||||
|
string UIName = "DoFFixedUnfocusedBlendInteriorDay";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {0.0};
|
||||||
|
/* display dof factors per pixel */
|
||||||
|
bool dofdebug
|
||||||
|
<
|
||||||
|
string UIName = "DoFDebug";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* two-pass blur, makes you shortsighted */
|
||||||
|
bool doftwopass
|
||||||
|
<
|
||||||
|
string UIName = "DoFTwoPass";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* disable depth of field, in case you want just the contour filter */
|
||||||
|
bool dofdisable
|
||||||
|
<
|
||||||
|
string UIName = "DoFDisable";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* enable depth of field smoothing (3x3 gaussian blur, slight fps loss) */
|
||||||
|
bool dofsmooth
|
||||||
|
<
|
||||||
|
string UIName = "DoFSmoothing";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {true};
|
||||||
|
/* enable depth of field sky cutoff (keeps sky sharp, but may look awful) */
|
||||||
|
bool dofcutoff
|
||||||
|
<
|
||||||
|
string UIName = "DoFCutoff";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* disable edge detect filters */
|
||||||
|
bool noedge
|
||||||
|
<
|
||||||
|
string UIName = "EdgeDisable";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {true};
|
||||||
|
/* use "edge vision" instead of contour filter (just because it looks fancy) */
|
||||||
|
bool edgeview
|
||||||
|
<
|
||||||
|
string UIName = "EdgeView";
|
||||||
|
string UIWidget = "Checkbox";
|
||||||
|
> = {false};
|
||||||
|
/* factors */
|
||||||
|
float edgefadepow
|
||||||
|
<
|
||||||
|
string UIName = "EdgeFadePower";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.6};
|
||||||
|
float edgefademult
|
||||||
|
<
|
||||||
|
string UIName = "EdgeFadeMultiplier";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {16.0};
|
||||||
|
float edgepow
|
||||||
|
<
|
||||||
|
string UIName = "EdgePower";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.5};
|
||||||
|
float edgemult
|
||||||
|
<
|
||||||
|
string UIName = "EdgeMultiplier";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {32.0};
|
||||||
BIN
enbsunsprite.tga
|
Before Width: | Height: | Size: 361 KiB |
|
|
@ -1,160 +0,0 @@
|
||||||
/*
|
|
||||||
menbbloomfilters.fx : MariENB bloom shader routines.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
VS_OUTPUT_POST VS_Bloom(VS_INPUT_POST IN)
|
|
||||||
{
|
|
||||||
VS_OUTPUT_POST OUT;
|
|
||||||
float4 pos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1);
|
|
||||||
OUT.vpos = pos;
|
|
||||||
OUT.txcoord0.xy = IN.txcoord0.xy+TempParameters.xy;
|
|
||||||
return OUT;
|
|
||||||
}
|
|
||||||
/* pre-pass bloom texture preparation */
|
|
||||||
float4 PS_BloomPrePass(VS_OUTPUT_POST In) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = In.txcoord0.xy;
|
|
||||||
if ( !preenable )
|
|
||||||
return tex2D(SamplerBloom1,coord);
|
|
||||||
float4 res = 0.0;
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*presample;
|
|
||||||
int i, j;
|
|
||||||
if ( prelevel == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
res += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
else if ( prelevel == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
res += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
res += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
/* multipass */
|
|
||||||
float4 PS_BloomTexture(VS_OUTPUT_POST In) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = In.txcoord0.xy;
|
|
||||||
float4 res = 0.0;
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*postsample
|
|
||||||
*(TempParameters.w+0.25);
|
|
||||||
int i, j;
|
|
||||||
if ( postlevel == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
res += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
else if ( postlevel == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
res += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
res += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerBloom1,coord+float2(i,j)
|
|
||||||
*bof);
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
/* end pass */
|
|
||||||
float4 PS_BloomPostPass(VS_OUTPUT_POST In) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = In.txcoord0.xy;
|
|
||||||
float4 res = (tex2D(SamplerBloom1,coord)+tex2D(SamplerBloom2,coord)
|
|
||||||
+tex2D(SamplerBloom3,coord)+tex2D(SamplerBloom4,coord)
|
|
||||||
+tex2D(SamplerBloom5,coord)+tex2D(SamplerBloom6,coord)
|
|
||||||
+tex2D(SamplerBloom7,coord)+tex2D(SamplerBloom8,coord))*0.125;
|
|
||||||
res = pow(saturate(res+bloombump),bloompower);
|
|
||||||
float ress = (res.r+res.g+res.b)/3.0;
|
|
||||||
res = res*bloomsaturation+ress*(1.0-bloomsaturation);
|
|
||||||
res.rgb *= bloomintensity;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
/* techniques */
|
|
||||||
technique BloomPrePass
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Bloom();
|
|
||||||
PixelShader = compile ps_3_0 PS_BloomPrePass();
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique BloomTexture1
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Bloom();
|
|
||||||
PixelShader = compile ps_3_0 PS_BloomTexture();
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique BloomTexture2
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Bloom();
|
|
||||||
PixelShader = compile ps_3_0 PS_BloomTexture();
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique BloomPostPass
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Bloom();
|
|
||||||
PixelShader = compile ps_3_0 PS_BloomPostPass();
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
/*
|
|
||||||
menbbloomsettings.fx : MariENB bloom user-tweakable variables.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* do bloom prepass blur */
|
|
||||||
bool preenable
|
|
||||||
<
|
|
||||||
string UIName = "PreEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* bloom prepass blur radius */
|
|
||||||
float presample
|
|
||||||
<
|
|
||||||
string UIName = "PreSample";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.0};
|
|
||||||
/* bloom prepass blur level */
|
|
||||||
int prelevel
|
|
||||||
<
|
|
||||||
string UIName = "PreLevel";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2};
|
|
||||||
/* bloom postpass blur radius */
|
|
||||||
float postsample
|
|
||||||
<
|
|
||||||
string UIName = "PostSample";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {8.0};
|
|
||||||
/* bloom postpas blur level */
|
|
||||||
int postlevel
|
|
||||||
<
|
|
||||||
string UIName = "PostLevel";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1};
|
|
||||||
/* bloom intensity */
|
|
||||||
float bloomintensity
|
|
||||||
<
|
|
||||||
string UIName = "BloomIntensity";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.25};
|
|
||||||
/* bloom power */
|
|
||||||
float bloompower
|
|
||||||
<
|
|
||||||
string UIName = "BloomPower";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.4};
|
|
||||||
/* bloom saturation */
|
|
||||||
float bloomsaturation
|
|
||||||
<
|
|
||||||
string UIName = "BloomSaturation";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.3};
|
|
||||||
/* bloom offset */
|
|
||||||
float bloombump
|
|
||||||
<
|
|
||||||
string UIName = "BloomBump";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.10};
|
|
||||||
|
|
@ -1,179 +0,0 @@
|
||||||
/*
|
|
||||||
menbeffectfilters.fx : MariENB base shader routines.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
|
|
||||||
{
|
|
||||||
VS_OUTPUT_POST OUT;
|
|
||||||
OUT.vpos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
|
|
||||||
OUT.txcoord0.xy = IN.txcoord0.xy;
|
|
||||||
return OUT;
|
|
||||||
}
|
|
||||||
/* MariENB shader */
|
|
||||||
float4 PS_Mari( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = IN.txcoord0.xy;
|
|
||||||
float4 res = tex2D(_s0,coord);
|
|
||||||
float tod = ENightDayFactor;
|
|
||||||
float ind = EInteriorFactor;
|
|
||||||
/* screen mud goes here */
|
|
||||||
if ( softbloom )
|
|
||||||
{
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*softbloomsmp;
|
|
||||||
int i,j;
|
|
||||||
if ( softbloomlv == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
res += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(_s3,coord+float2(i,j)
|
|
||||||
*bof)*EBloomAmount;
|
|
||||||
}
|
|
||||||
else if ( softbloomlv == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
res += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(_s3,coord+float2(i,j)
|
|
||||||
*bof)*EBloomAmount;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
res += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(_s3,coord+float2(i,j)
|
|
||||||
*bof)*EBloomAmount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
res += tex2D(_s3,coord)*EBloomAmount;
|
|
||||||
float4 adapt = tex2D(_s4,0.5);
|
|
||||||
/* adaptation */
|
|
||||||
if ( aenable )
|
|
||||||
{
|
|
||||||
float adapts = clamp((adapt.r+adapt.g+adapt.b)/3.0,0.0,50.0);
|
|
||||||
float amin = lerp(lerp(amin_n,amin_d,tod),lerp(amin_in,amin_id,
|
|
||||||
tod),ind);
|
|
||||||
float amax = lerp(lerp(amax_n,amax_d,tod),lerp(amax_in,amax_id,
|
|
||||||
tod),ind);
|
|
||||||
res.rgb = res.rgb/(adapts*amax+amin);
|
|
||||||
}
|
|
||||||
/* tone mapping */
|
|
||||||
if ( tmenable )
|
|
||||||
{
|
|
||||||
float tone = lerp(lerp(tone_n,tone_d,tod),lerp(tone_in,tone_id,
|
|
||||||
tod),ind);
|
|
||||||
float tovr = lerp(lerp(tovr_n,tovr_d,tod),lerp(tovr_in,tovr_id,
|
|
||||||
tod),ind);
|
|
||||||
res.rgb = (res.rgb*(1+res.rgb/tovr))/(res.rgb+tone);
|
|
||||||
}
|
|
||||||
/* palette texture */
|
|
||||||
if ( palenable )
|
|
||||||
{
|
|
||||||
float palb = lerp(lerp(palb_n,palb_d,tod),lerp(palb_in,palb_id,
|
|
||||||
tod),ind);
|
|
||||||
res.rgb = saturate(res.rgb);
|
|
||||||
float3 bright = adapt.rgb/(adapt.rgb+1.0);
|
|
||||||
float brights = (bright.r+bright.g+bright.b)/3.0;
|
|
||||||
float3 pal = float3(tex2D(_s7,float2(res.r,brights)).r,
|
|
||||||
tex2D(_s7,float2(res.g,brights)).g,
|
|
||||||
tex2D(_s7,float2(res.b,brights)).b);
|
|
||||||
res.rgb = res.rgb*(1.0-palb)+pal.rgb*palb;
|
|
||||||
}
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
So... let me get this straight... rather than simply switching techniques,
|
|
||||||
Boris just compiles the program twice with and without this macro, then
|
|
||||||
toggling "UseEffect" switches between each variation? What the fuck?
|
|
||||||
*/
|
|
||||||
#ifndef ENB_FLIPTECHNIQUE
|
|
||||||
technique Shader_D6EC7DD1
|
|
||||||
#else
|
|
||||||
technique Shader_ORIGINALPOSTPROCESS
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Mari();
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
ZWriteEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifndef ENB_FLIPTECHNIQUE
|
|
||||||
technique Shader_ORIGINALPOSTPROCESS
|
|
||||||
#else
|
|
||||||
technique Shader_D6EC7DD1
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
/*
|
|
||||||
>2014
|
|
||||||
>inline assembly
|
|
||||||
Have to keep this part intact, sadly
|
|
||||||
Boris what the fuck have you done
|
|
||||||
*/
|
|
||||||
PixelShader = asm
|
|
||||||
{
|
|
||||||
ps_3_0
|
|
||||||
def c6,0,0,0,0
|
|
||||||
def c7,0.212500006,0.715399981,0.0720999986,1
|
|
||||||
dcl_texcoord v0.xy
|
|
||||||
dcl_2d s0
|
|
||||||
dcl_2d s1
|
|
||||||
dcl_2d s2
|
|
||||||
rcp r0.x,c2.y
|
|
||||||
texld r1,v0,s2
|
|
||||||
mul r0.yz,r1.xxyw,c1.y
|
|
||||||
rcp r0.w,r0.y
|
|
||||||
mul r0.z,r0.w,r0.z
|
|
||||||
texld r1,v0,s1
|
|
||||||
mul r1.xyz,r1,c1.y
|
|
||||||
dp3 r0.w,c7,r1
|
|
||||||
mul r1.w,r0.w,r0.z
|
|
||||||
mad r0.z,r0.z,r0.w,c7.w
|
|
||||||
rcp r0.z,r0.z
|
|
||||||
mad r0.x,r1.w,r0.x,c7.w
|
|
||||||
mul r0.x,r0.x,r1.w
|
|
||||||
mul r0.x,r0.z,r0.x
|
|
||||||
cmp r0.x,-r0.w,c6.x,r0.x
|
|
||||||
rcp r0.z,r0.w
|
|
||||||
mul r0.z,r0.z,r0.x
|
|
||||||
add_sat r0.x,-r0.x,c2.x
|
|
||||||
texld r2,v0,s0
|
|
||||||
mul r2.xyz,r2,c1.y
|
|
||||||
mul r2.xyz,r0.x,r2
|
|
||||||
mad r1.xyz,r1,r0.z,r2
|
|
||||||
dp3 r0.x,r1,c7
|
|
||||||
mov r1.w,c7.w
|
|
||||||
lrp r2,c3.x,r1,r0.x
|
|
||||||
mad r1,r0.x,c4,-r2
|
|
||||||
mad r1,c4.w,r1,r2
|
|
||||||
mad r1,c3.w,r1,-r0.y
|
|
||||||
mad r0,c3.z,r1,r0.y
|
|
||||||
add r1,-r0,c5
|
|
||||||
mad oC0,c5.w,r1,r0
|
|
||||||
};
|
|
||||||
ColorWriteEnable = ALPHA|RED|GREEN|BLUE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
ZWriteEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
AlphaTestEnable = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,140 +0,0 @@
|
||||||
/*
|
|
||||||
menbeffectsettings.fx : MariENB base user-tweakable variables.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* Soften bloom */
|
|
||||||
bool softbloom
|
|
||||||
<
|
|
||||||
string UIName = "EnableBloomSoften";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
int softbloomlv
|
|
||||||
<
|
|
||||||
string UIName = "BloomSoftenLevel";
|
|
||||||
string UIWidget = "Slider";
|
|
||||||
> = {2};
|
|
||||||
float softbloomsmp
|
|
||||||
<
|
|
||||||
string UIName = "BloomSoftenRadius";
|
|
||||||
string UIWidget = "Slider";
|
|
||||||
> = {1.0};
|
|
||||||
/* Adaptation */
|
|
||||||
bool aenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableAdaptation";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
float amin_n
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMinNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float amin_d
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMinDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float amin_in
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMinInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float amin_id
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMinInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float amax_n
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMaxNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float amax_d
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMaxDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float amax_in
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMaxInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float amax_id
|
|
||||||
<
|
|
||||||
string UIName = "AdaptationMaxInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* tone mapping */
|
|
||||||
bool tmenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableTonemapping";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
float tone_n
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tone_d
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tone_in
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tone_id
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tovr_n
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingOversaturationNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tovr_d
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingOversaturationDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tovr_in
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingOversaturationInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float tovr_id
|
|
||||||
<
|
|
||||||
string UIName = "TonemappingOversaturationInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* palette texture */
|
|
||||||
bool palenable
|
|
||||||
<
|
|
||||||
string UIName = "EnablePalette";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
float palb_n
|
|
||||||
<
|
|
||||||
string UIName = "PaletteBlendNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float palb_d
|
|
||||||
<
|
|
||||||
string UIName = "PaletteBlendDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float palb_in
|
|
||||||
<
|
|
||||||
string UIName = "PaletteBlendInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float palb_id
|
|
||||||
<
|
|
||||||
string UIName = "PaletteBlendInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
627
menbfilters.fx
|
|
@ -1,627 +0,0 @@
|
||||||
/*
|
|
||||||
menbfilters.fx : MariENB shader routines.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
|
|
||||||
{
|
|
||||||
VS_OUTPUT_POST OUT;
|
|
||||||
OUT.vpos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
|
|
||||||
OUT.txcoord.xy = IN.txcoord.xy;
|
|
||||||
return OUT;
|
|
||||||
}
|
|
||||||
float4 PS_FXAA( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = float2(IN.txcoord.x,IN.txcoord.y);
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !fxaaenable )
|
|
||||||
return res;
|
|
||||||
float fxaareducemul_ = 1.0/max(abs(fxaareducemul),1.0);
|
|
||||||
float fxaareducemin_ = 1.0/max(abs(fxaareducemin),1.0);
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y);
|
|
||||||
float3 rgbNW = tex2D(SamplerColor,coord+float2(-1,-1)*bof).rgb;
|
|
||||||
float3 rgbNE = tex2D(SamplerColor,coord+float2(1,-1)*bof).rgb;
|
|
||||||
float3 rgbSW = tex2D(SamplerColor,coord+float2(-1,1)*bof).rgb;
|
|
||||||
float3 rgbSE = tex2D(SamplerColor,coord+float2(1,1)*bof).rgb;
|
|
||||||
float3 rgbM = tex2D(SamplerColor,coord).rgb;
|
|
||||||
float3 luma = float3(0.299,0.587,0.114);
|
|
||||||
float lumaNW = dot(rgbNW,luma);
|
|
||||||
float lumaNE = dot(rgbNE,luma);
|
|
||||||
float lumaSW = dot(rgbSW,luma);
|
|
||||||
float lumaSE = dot(rgbSE,luma);
|
|
||||||
float lumaM = dot(rgbM,luma);
|
|
||||||
float lumaMin = min(lumaM,min(min(lumaNW,lumaNE),min(lumaSW,lumaSE)));
|
|
||||||
float lumaMax = max(lumaM,max(max(lumaNW,lumaNE),max(lumaSW,lumaSE)));
|
|
||||||
float2 dir = float2(-((lumaNW+lumaNE)-(lumaSW+lumaSE)),((lumaNW+lumaSW)
|
|
||||||
-(lumaNE+lumaSE)));
|
|
||||||
float dirReduce = max((lumaNW+lumaNE+lumaSW+lumaSE)*(0.25
|
|
||||||
*fxaareducemul_),fxaareducemin_);
|
|
||||||
float rcpDirMin = 1.0/(min(abs(dir.x),abs(dir.y))+dirReduce);
|
|
||||||
dir = min(float2(fxaaspanmax,fxaaspanmax),max(float2(-fxaaspanmax,
|
|
||||||
-fxaaspanmax),dir*rcpDirMin))/bresl;
|
|
||||||
float3 rgbA = (1.0/2.0)*(tex2D(SamplerColor,coord+dir*(1.0/3.0-0.5))
|
|
||||||
.rgb+tex2D(SamplerColor,coord+dir*(2.0/3.0-0.5)).rgb);
|
|
||||||
float3 rgbB = rgbA*(1.0/2.0)+(1.0/4.0)*(tex2D(SamplerColor,coord+dir
|
|
||||||
*(0.0/3.0-0.5)).rgb+tex2D(SamplerColor,coord+dir*(3.0/3.0-0.5))
|
|
||||||
.rgb);
|
|
||||||
float lumaB = dot(rgbB,luma);
|
|
||||||
if ( (lumaB < lumaMin) || (lumaB > lumaMax) )
|
|
||||||
res.rgb = rgbA;
|
|
||||||
else
|
|
||||||
res.rgb = rgbB;
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
float4 PS_Enhance( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = float2(IN.txcoord.x,IN.txcoord.y);
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
float tod = ENightDayFactor;
|
|
||||||
float ind = EInteriorFactor;
|
|
||||||
if ( bbenable )
|
|
||||||
{
|
|
||||||
float4 origcolor = res;
|
|
||||||
float4 tcol = float4(0,0,0,0);
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float bbsamp = lerp(lerp(bbsamp_n,bbsamp_d,tod),lerp(bbsamp_in,
|
|
||||||
bbsamp_id,tod),ind);
|
|
||||||
float bbradius = lerp(lerp(bbradius_n,bbradius_d,tod),
|
|
||||||
lerp(bbradius_in,bbradius_id,tod),ind);
|
|
||||||
float bbcurve = lerp(lerp(bbcurve_n,bbcurve_d,tod),
|
|
||||||
lerp(bbcurve_in,bbcurve_id,tod),ind);
|
|
||||||
float bbpow = lerp(lerp(bbpow_n,bbpow_d,tod),lerp(bbpow_in,
|
|
||||||
bbpow_id,tod),ind);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*bbsamp;
|
|
||||||
int i, j;
|
|
||||||
if ( bblevel == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
tcol += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord
|
|
||||||
+float2(i,j)*bof);
|
|
||||||
}
|
|
||||||
else if ( bblevel == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
tcol += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord
|
|
||||||
+float2(i,j)*bof);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
tcol += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord
|
|
||||||
+float2(i,j)*bof);
|
|
||||||
}
|
|
||||||
float2 uv = (coord.xy-0.5)*bbradius;
|
|
||||||
float vig = clamp(pow(saturate(dot(uv.xy,uv.xy)),bbcurve),0.0
|
|
||||||
,1.0);
|
|
||||||
res.rgb = lerp(origcolor.rgb,tcol.rgb,clamp(vig*bbpow,0.0
|
|
||||||
,1.0));
|
|
||||||
}
|
|
||||||
if ( dkenable )
|
|
||||||
{
|
|
||||||
float2 bresl = float2(1.0,ScreenSize.w);
|
|
||||||
float dkradius = lerp(lerp(dkradius_n,dkradius_d,tod),
|
|
||||||
lerp(dkradius_in,dkradius_id,tod),ind);
|
|
||||||
float dkbump = lerp(lerp(dkbump_n,dkbump_d,tod),lerp(dkbump_in,
|
|
||||||
dkbump_id,tod),ind);
|
|
||||||
float dkcurve = lerp(lerp(dkcurve_n,dkcurve_d,tod),
|
|
||||||
lerp(dkcurve_in,dkcurve_id,tod),ind);
|
|
||||||
float2 bof = bresl*dkradius;
|
|
||||||
float val = 0.0;
|
|
||||||
if ( coord.x < bof.x )
|
|
||||||
val = lerp(val,1,1.0-coord.x/bof.x);
|
|
||||||
if ( coord.y < bof.y )
|
|
||||||
val = lerp(val,1,1.0-coord.y/bof.y);
|
|
||||||
if ( 1.0-coord.x < bof.x )
|
|
||||||
val = lerp(val,1,1.0-(1.0-coord.x)/bof.x);
|
|
||||||
if ( 1.0-coord.y < bof.y )
|
|
||||||
val = lerp(val,1,1.0-(1.0-coord.y)/bof.y);
|
|
||||||
val = clamp(val*dkbump,0,1);
|
|
||||||
res.rgb = lerp(res.rgb,float3(0,0,0),pow(val,dkcurve));
|
|
||||||
}
|
|
||||||
if ( ne )
|
|
||||||
{
|
|
||||||
float nf = lerp(lerp(nf_n,nf_d,tod),lerp(nf_in,nf_id,tod),ind);
|
|
||||||
float ns = lerp(lerp(ns_n,ns_d,tod),lerp(ns_in,ns_id,tod),ind);
|
|
||||||
float nj = lerp(lerp(nj_n,nj_d,tod),lerp(nj_in,nj_id,tod),ind);
|
|
||||||
float ni = lerp(lerp(ni_n,ni_d,tod),lerp(ni_in,ni_id,tod),ind);
|
|
||||||
float ts = Timer.x*nf;
|
|
||||||
ts *= 1000.0;
|
|
||||||
float2 tcs = coord;
|
|
||||||
float2 s1 = tcs+float2(0,ts);
|
|
||||||
float2 s2 = tcs+float2(ts,0);
|
|
||||||
float2 s3 = tcs+float2(ts,ts);
|
|
||||||
float n1, n2, n3;
|
|
||||||
float2 nr = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w)
|
|
||||||
/NOISERES;
|
|
||||||
if ( np )
|
|
||||||
{
|
|
||||||
n1 = tex2D(SamplerNoise2,s1*nm11*nr).r;
|
|
||||||
n2 = tex2D(SamplerNoise2,s2*nm12*nr).g;
|
|
||||||
n3 = tex2D(SamplerNoise2,s3*nm13*nr).b;
|
|
||||||
s1 = tcs+float2(ts+n1*nk,n2*nk);
|
|
||||||
s2 = tcs+float2(n2,ts+n3*nk);
|
|
||||||
s3 = tcs+float2(ts+n3*nk,ts+n1*nk);
|
|
||||||
n1 = tex2D(SamplerNoise2,s1*nm21*nr).r;
|
|
||||||
n2 = tex2D(SamplerNoise2,s2*nm22*nr).g;
|
|
||||||
n3 = tex2D(SamplerNoise2,s3*nm23*nr).b;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
n1 = tex2D(SamplerNoise3,s1*nm1*nr).r;
|
|
||||||
n2 = tex2D(SamplerNoise3,s2*nm2*nr).g;
|
|
||||||
n3 = tex2D(SamplerNoise3,s3*nm3*nr).b;
|
|
||||||
}
|
|
||||||
float n4 = (n1+n2+n3)/3;
|
|
||||||
float3 ng = float3(n4,n4,n4);
|
|
||||||
float3 nc = float3(n1,n2,n3);
|
|
||||||
float3 nt = pow(clamp(lerp(ng,nc,ns),0.0,1.0),nj);
|
|
||||||
if ( nb == 1 )
|
|
||||||
res.rgb += nt*ni;
|
|
||||||
else if ( nb == 2 )
|
|
||||||
{
|
|
||||||
res.r = (res.r<0.5)?(2.0*res.r*(0.5+(nt.r*ni)))
|
|
||||||
:(1.0-2.0*(1.0-res.r)*(1.0-((0.5+(nt.r*ni)))));
|
|
||||||
res.g = (res.g<0.5)?(2.0*res.g*(0.5+(nt.g*ni)))
|
|
||||||
:(1.0-2.0*(1.0-res.g)*(1.0-((0.5+(nt.g*ni)))));
|
|
||||||
res.b = (res.b<0.5)?(2.0*res.b*(0.5+(nt.b*ni)))
|
|
||||||
:(1.0-2.0*(1.0-res.b)*(1.0-((0.5+(nt.b*ni)))));
|
|
||||||
}
|
|
||||||
else if ( nb == 3 )
|
|
||||||
res.rgb *= 1.0+(nt*ni);
|
|
||||||
else
|
|
||||||
res.rgb = lerp(res.rgb,nt,ni);
|
|
||||||
}
|
|
||||||
if ( compenable )
|
|
||||||
{
|
|
||||||
float compbump = lerp(lerp(compbump_n,compbump_d,tod),
|
|
||||||
lerp(compbump_in,compbump_id,tod),ind);
|
|
||||||
float comppow = lerp(lerp(comppow_n,comppow_d,tod),
|
|
||||||
lerp(comppow_in,comppow_id,tod),ind);
|
|
||||||
float compsat = lerp(lerp(compsat_n,compsat_d,tod),
|
|
||||||
lerp(compsat_in,compsat_id,tod),ind);
|
|
||||||
float compfactor = lerp(lerp(compfactor_n,compfactor_d,tod),
|
|
||||||
lerp(compfactor_in,compfactor_id,tod),ind);
|
|
||||||
float4 ovr = pow(saturate(res+compbump),comppow);
|
|
||||||
float ovrs = (ovr.r+ovr.g+ovr.b)/3.0;
|
|
||||||
ovr = ovr*compsat+ovrs*(1.0-compsat);
|
|
||||||
res.rgb -= ovr.rgb*compfactor;
|
|
||||||
}
|
|
||||||
if ( gradeenable )
|
|
||||||
{
|
|
||||||
float gradeadd_r = lerp(lerp(gradeadd_r_n,gradeadd_r_d,tod),
|
|
||||||
lerp(gradeadd_r_in,gradeadd_r_id,tod),ind);
|
|
||||||
float gradeadd_g = lerp(lerp(gradeadd_g_n,gradeadd_g_d,tod),
|
|
||||||
lerp(gradeadd_g_in,gradeadd_g_id,tod),ind);
|
|
||||||
float gradeadd_b = lerp(lerp(gradeadd_b_n,gradeadd_b_d,tod),
|
|
||||||
lerp(gradeadd_b_in,gradeadd_b_id,tod),ind);
|
|
||||||
float grademul_r = lerp(lerp(grademul_r_n,grademul_r_d,tod),
|
|
||||||
lerp(grademul_r_in,grademul_r_id,tod),ind);
|
|
||||||
float grademul_g = lerp(lerp(grademul_g_n,grademul_g_d,tod),
|
|
||||||
lerp(grademul_g_in,grademul_g_id,tod),ind);
|
|
||||||
float grademul_b = lerp(lerp(grademul_b_n,grademul_b_d,tod),
|
|
||||||
lerp(grademul_b_in,grademul_b_id,tod),ind);
|
|
||||||
float gradepow_r = lerp(lerp(gradepow_r_n,gradepow_r_d,tod),
|
|
||||||
lerp(gradepow_r_in,gradepow_r_id,tod),ind);
|
|
||||||
float gradepow_g = lerp(lerp(gradepow_g_n,gradepow_g_d,tod),
|
|
||||||
lerp(gradepow_g_in,gradepow_g_id,tod),ind);
|
|
||||||
float gradepow_b = lerp(lerp(gradepow_b_n,gradepow_b_d,tod),
|
|
||||||
lerp(gradepow_b_in,gradepow_b_id,tod),ind);
|
|
||||||
float gradecol_r = lerp(lerp(gradecol_r_n,gradecol_r_d,tod),
|
|
||||||
lerp(gradecol_r_in,gradecol_r_id,tod),ind);
|
|
||||||
float gradecol_g = lerp(lerp(gradecol_g_n,gradecol_g_d,tod),
|
|
||||||
lerp(gradecol_g_in,gradecol_g_id,tod),ind);
|
|
||||||
float gradecol_b = lerp(lerp(gradecol_b_n,gradecol_b_d,tod),
|
|
||||||
lerp(gradecol_b_in,gradecol_b_id,tod),ind);
|
|
||||||
float gradecolfact = lerp(lerp(gradecolfact_n,gradecolfact_d,
|
|
||||||
tod),lerp(gradecolfact_in,gradecolfact_id,tod),ind);
|
|
||||||
float3 gradeadd = float3(gradeadd_r,gradeadd_g,gradeadd_b);
|
|
||||||
float3 grademul = float3(grademul_r,grademul_g,grademul_b);
|
|
||||||
float3 gradepow = float3(gradepow_r,gradepow_g,gradepow_b);
|
|
||||||
float3 gradecol = float3(gradecol_r,gradecol_g,gradecol_b);
|
|
||||||
res.rgb = saturate(res.rgb+gradeadd);
|
|
||||||
res.rgb = saturate(res.rgb*grademul);
|
|
||||||
res.rgb = saturate(pow(res.rgb,gradepow));
|
|
||||||
float tonev = (res.r+res.g+res.b)/3.0;
|
|
||||||
float3 tonecolor = gradecol*tonev;
|
|
||||||
res.rgb = res.rgb*(1.0-gradecolfact)+tonecolor*gradecolfact;
|
|
||||||
}
|
|
||||||
if ( dirtenable )
|
|
||||||
{
|
|
||||||
float2 r = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w)
|
|
||||||
/NOISERES;
|
|
||||||
float4 ncolc = tex2D(SamplerNoise1,coord*dirtmc*r);
|
|
||||||
float2 ds = float2(res.r+res.g,res.g+res.b)/2.0;
|
|
||||||
float4 ncoll = tex2D(SamplerNoise1,ds*dirtml);
|
|
||||||
res = lerp(res,(ncolc.r+1)*res,
|
|
||||||
dirtcfactor*saturate(1-(ds.x+ds.y)*0.25));
|
|
||||||
res = lerp(res,(ncoll.r+1)*res,
|
|
||||||
dirtlfactor*saturate(1-(ds.x+ds.y)*0.25));
|
|
||||||
}
|
|
||||||
if ( boxe )
|
|
||||||
{
|
|
||||||
res.rgb = saturate(res.rgb);
|
|
||||||
float boxf = pow(clamp(boxh-abs(2.0*coord.x-1.0),0.0,1.0),boxb)
|
|
||||||
*pow(clamp(boxv-abs(2.0*coord.y-1.0),0.0,1.0),boxb);
|
|
||||||
res.rgb = lerp(res.rgb*(1.0-boxa),res.rgb,boxf);
|
|
||||||
}
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
float4 ReducePrepass( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
color.rgb = pow(max(color.rgb,0.0),bgamma);
|
|
||||||
float4 dac;
|
|
||||||
dac.a = (color.r+color.g+color.b)/3.0;
|
|
||||||
dac.rgb = dac.a+(color.rgb-dac.a)*bsaturation;
|
|
||||||
if ( bdither == 0 )
|
|
||||||
dac.rgb += bdbump+tex2D(SamplerNoise3,coord/NOISERES).r*bdmult;
|
|
||||||
else if ( bdither == 1 )
|
|
||||||
dac.rgb += bdbump+checkers[int(coord.x%2)+2*int(coord.y%2)]
|
|
||||||
*bdmult;
|
|
||||||
else if ( bdither == 2 )
|
|
||||||
dac.rgb += bdbump+ordered2[int(coord.x%2)+2*int(coord.y%2)]
|
|
||||||
*bdmult;
|
|
||||||
else if ( bdither == 3 )
|
|
||||||
dac.rgb += bdbump+ordered3[int(coord.x%3)+3*int(coord.y%3)]
|
|
||||||
*bdmult;
|
|
||||||
else if ( bdither == 4 )
|
|
||||||
dac.rgb += bdbump+ordered4[int(coord.x%4)+4*int(coord.y%4)]
|
|
||||||
*bdmult;
|
|
||||||
else if ( bdither == 5 )
|
|
||||||
dac.rgb += bdbump+ordered8[int(coord.x%8)+8*int(coord.y%8)]
|
|
||||||
*bdmult;
|
|
||||||
dac = saturate(dac);
|
|
||||||
return dac;
|
|
||||||
}
|
|
||||||
float4 ReduceCGA( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
if ( bcganum == 0 )
|
|
||||||
{
|
|
||||||
dac.a = (dac.r+dac.g+dac.b)/3.0;
|
|
||||||
return (dac.a>0.5);
|
|
||||||
}
|
|
||||||
float dist = 2.0;
|
|
||||||
int idx = 0;
|
|
||||||
if ( bcganum == 1 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga1l[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga1l[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga1l[idx];
|
|
||||||
}
|
|
||||||
else if ( bcganum == 2 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga1h[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga1h[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga1h[idx];
|
|
||||||
}
|
|
||||||
else if ( bcganum == 3 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga2l[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga2l[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga2l[idx];
|
|
||||||
}
|
|
||||||
else if ( bcganum == 4 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga2h[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga2h[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga2h[idx];
|
|
||||||
}
|
|
||||||
else if ( bcganum == 5 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga3l[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga3l[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga3l[idx];
|
|
||||||
}
|
|
||||||
else if ( bcganum == 6 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,cga3h[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,cga3h[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = cga3h[idx];
|
|
||||||
}
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceEGA( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
float dist = 2.0;
|
|
||||||
int idx = 0;
|
|
||||||
if ( beganum == 0 )
|
|
||||||
{
|
|
||||||
for ( int i=0; i<16; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,stdega[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,stdega[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = stdega[idx];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( int i=0; i<16; i++ )
|
|
||||||
{
|
|
||||||
if ( distance(dac.rgb,aosega[i]) < dist )
|
|
||||||
{
|
|
||||||
idx = i;
|
|
||||||
dist = distance(dac.rgb,aosega[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
color.rgb = aosega[idx];
|
|
||||||
}
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceRGB2( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
color.rgb = trunc(dac.rgb*4.0)/4.0;
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceRGB323( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
color.rgb = trunc(dac.rgb*float3(8.0,4.0,8.0))/float3(8.0,4.0,8.0);
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceRGB4( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
color.rgb = trunc(dac.rgb*16.0)/16.0;
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceRGB565( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
color.rgb = trunc(dac.rgb*float3(32.0,64.0,32.0))
|
|
||||||
/float3(32.0,64.0,32.0);
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 ReduceRGB6( in float4 color, in float2 coord )
|
|
||||||
{
|
|
||||||
float4 dac = ReducePrepass(color,coord);
|
|
||||||
color.rgb = trunc(dac.rgb*64.0)/64.0;
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
float4 PS_Block( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = float2(IN.txcoord.x,IN.txcoord.y);
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !benable )
|
|
||||||
return res;
|
|
||||||
float2 rresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bresl;
|
|
||||||
if ( bresw <= 0 || bresh <= 0 )
|
|
||||||
bresl = rresl;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( bresw <= 1.0 )
|
|
||||||
bresl.x = rresl.x*bresw;
|
|
||||||
else
|
|
||||||
bresl.x = bresw;
|
|
||||||
if ( bresh <= 1.0 )
|
|
||||||
bresl.y = rresl.y*bresh;
|
|
||||||
else
|
|
||||||
bresl.y = bresh;
|
|
||||||
}
|
|
||||||
float2 ncoord = (coord-float2(0.5,0.5))+float2(0.5,0.5);
|
|
||||||
ncoord = floor(ncoord*bresl)/bresl;
|
|
||||||
if ( bresw <= 0 || bresh <= 0 )
|
|
||||||
ncoord = coord;
|
|
||||||
float4 tcol = tex2D(SamplerColor,ncoord);
|
|
||||||
/* clamp */
|
|
||||||
if ( ncoord.x < 0 || ncoord.x >= 1 || ncoord.y < 0 || ncoord.y >= 1 )
|
|
||||||
tcol *= 0;
|
|
||||||
if ( bpaltype == 0 )
|
|
||||||
res = ReduceCGA(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 1 )
|
|
||||||
res = ReduceEGA(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 2 )
|
|
||||||
res = ReduceRGB2(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 3 )
|
|
||||||
res = ReduceRGB323(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 4 )
|
|
||||||
res = ReduceRGB4(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 5 )
|
|
||||||
res = ReduceRGB565(tcol,coord*bresl);
|
|
||||||
else if ( bpaltype == 6 )
|
|
||||||
res = ReduceRGB6(tcol,coord*bresl);
|
|
||||||
else
|
|
||||||
res = tcol;
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
float4 PS_Curve( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = float2(IN.txcoord.x,IN.txcoord.y);
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !crtenable )
|
|
||||||
return res;
|
|
||||||
float4 tcol = res;
|
|
||||||
float3 eta = float3(1+chromaab*0.09,1+chromaab*0.06,1+chromaab*0.03);
|
|
||||||
float2 center = float2(coord.x-0.5,coord.y-0.5);
|
|
||||||
float zfact = 100.0/lenszoom;
|
|
||||||
float r2 = center.x*center.x+center.y*center.y;
|
|
||||||
float f = 0;
|
|
||||||
if( lensdistc == 0.0)
|
|
||||||
f = 1+r2*lensdist*0.1;
|
|
||||||
else
|
|
||||||
f = 1+r2*(lensdist*0.1+lensdistc*0.1*sqrt(r2));
|
|
||||||
float x = f*zfact*center.x+0.5;
|
|
||||||
float y = f*zfact*center.y+0.5;
|
|
||||||
float2 rcoord = (f*eta.r)*zfact*(center.xy*0.5)+0.5;
|
|
||||||
float2 gcoord = (f*eta.g)*zfact*(center.xy*0.5)+0.5;
|
|
||||||
float2 bcoord = (f*eta.b)*zfact*(center.xy*0.5)+0.5;
|
|
||||||
float4 idist = float4(tex2D(SamplerColor,rcoord).r,
|
|
||||||
tex2D(SamplerColor,gcoord).g,
|
|
||||||
tex2D(SamplerColor,bcoord).b,
|
|
||||||
tex2D(SamplerColor,float2(x,y)).a);
|
|
||||||
res.rgb = idist.rgb;
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
float4 PS_Sharp( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = float2(IN.txcoord.x,IN.txcoord.y);
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !shenable )
|
|
||||||
return res;
|
|
||||||
float4 origcolor = res;
|
|
||||||
float4 tcol = float4(0,0,0,0);
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*shsamp;
|
|
||||||
int i, j;
|
|
||||||
tcol = float4(0,0,0,0);
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
tcol += shmat[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)*bof);
|
|
||||||
res = res*(1.0-shblend)+tcol*shblend;
|
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
technique PostProcess
|
|
||||||
{
|
|
||||||
pass FXAA
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_FXAA();
|
|
||||||
AlphaBlendEnable = TRUE;
|
|
||||||
SrcBlend = ONE;
|
|
||||||
DestBlend = ONE;
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess2
|
|
||||||
{
|
|
||||||
pass Reel
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Enhance();
|
|
||||||
AlphaBlendEnable = TRUE;
|
|
||||||
SrcBlend = ONE;
|
|
||||||
DestBlend = ONE;
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess3
|
|
||||||
{
|
|
||||||
pass Turboslut
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Sharp();
|
|
||||||
AlphaBlendEnable = TRUE;
|
|
||||||
SrcBlend = ONE;
|
|
||||||
DestBlend = ONE;
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess4
|
|
||||||
{
|
|
||||||
pass Retrograde
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Block();
|
|
||||||
AlphaBlendEnable = TRUE;
|
|
||||||
SrcBlend = ONE;
|
|
||||||
DestBlend = ONE;
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess5
|
|
||||||
{
|
|
||||||
pass Butt
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Curve();
|
|
||||||
AlphaBlendEnable = TRUE;
|
|
||||||
SrcBlend = ONE;
|
|
||||||
DestBlend = ONE;
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
277
menbinternals.fx
|
|
@ -1,277 +0,0 @@
|
||||||
/*
|
|
||||||
menbinternals.fx : MariENB internal variables.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* texture sizes */
|
|
||||||
#define NOISERES 256.0
|
|
||||||
/* sharpen matrix quadrant */
|
|
||||||
static const float3x3 shmat =
|
|
||||||
{
|
|
||||||
5.76,-0.5,-0.2,
|
|
||||||
-0.5,-0.25,-0.1,
|
|
||||||
-0.2,-0.1,-0.04,
|
|
||||||
};
|
|
||||||
/* gaussian blur matrices */
|
|
||||||
static const float2x2 gauss3 =
|
|
||||||
{
|
|
||||||
0.16,0.12,
|
|
||||||
0.12,0.09
|
|
||||||
};
|
|
||||||
static const float3x3 gauss5 =
|
|
||||||
{
|
|
||||||
0.0865051903114,0.0692041522491,0.0346020761246,
|
|
||||||
0.0692041522491,0.0553633217993,0.0276816609,
|
|
||||||
0.0346020761246,0.0276816609,0.01384083045
|
|
||||||
};
|
|
||||||
static const float4x4 gauss7 =
|
|
||||||
{
|
|
||||||
0.0632507440209,0.0527089533508,0.0301194019147,0.011294775718,
|
|
||||||
0.0527089533508,0.0439241277923,0.0250995015956,0.00941231309835,
|
|
||||||
0.0301194019147,0.0250995015956,0.01434257234,0.00537846462763,
|
|
||||||
0.011294775718,0.00941231309835,0.00537846462763,0.00201692423536
|
|
||||||
};
|
|
||||||
/* dithering threshold maps */
|
|
||||||
static const float checkers[4] =
|
|
||||||
{
|
|
||||||
1,0,
|
|
||||||
0,1
|
|
||||||
};
|
|
||||||
#define d(x) x/4.0
|
|
||||||
static const float ordered2[4] =
|
|
||||||
{
|
|
||||||
d(0),d(2),
|
|
||||||
d(4),d(2)
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
#define d(x) x/9.0
|
|
||||||
static const float ordered3[9] =
|
|
||||||
{
|
|
||||||
d(2),d(6),d(3),
|
|
||||||
d(5),d(0),d(8),
|
|
||||||
d(1),d(7),d(4)
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
#define d(x) x/16.0
|
|
||||||
static const float ordered4[16] =
|
|
||||||
{
|
|
||||||
d( 0),d( 8),d( 2),d(10),
|
|
||||||
d(12),d( 4),d(14),d( 6),
|
|
||||||
d( 3),d(11),d( 1),d( 9),
|
|
||||||
d(15),d( 7),d(13),d( 5)
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
#define d(x) x/64.0
|
|
||||||
static const float ordered8[64] =
|
|
||||||
{
|
|
||||||
d( 0),d(48),d(12),d(60),d( 3),d(51),d(15),d(63),
|
|
||||||
d(32),d(16),d(44),d(28),d(35),d(19),d(47),d(31),
|
|
||||||
d( 8),d(56),d( 4),d(52),d(11),d(59),d( 7),d(55),
|
|
||||||
d(40),d(24),d(36),d(20),d(43),d(27),d(39),d(23),
|
|
||||||
d( 2),d(50),d(14),d(62),d( 1),d(49),d(13),d(61),
|
|
||||||
d(34),d(18),d(46),d(30),d(33),d(17),d(45),d(29),
|
|
||||||
d(10),d(58),d( 6),d(54),d( 9),d(57),d( 5),d(53),
|
|
||||||
d(42),d(26),d(38),d(22),d(41),d(25),d(37),d(21)
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
/* palettes */
|
|
||||||
#define d(x) x/3.0
|
|
||||||
static const float3 cga1l[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(0),d(2),d(2)),
|
|
||||||
float3(d(2),d(0),d(2)),
|
|
||||||
float3(d(2),d(2),d(2))
|
|
||||||
};
|
|
||||||
static const float3 cga1h[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(1),d(3),d(3)),
|
|
||||||
float3(d(3),d(1),d(3)),
|
|
||||||
float3(d(3),d(3),d(3))
|
|
||||||
};
|
|
||||||
static const float3 cga2l[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(0),d(2),d(0)),
|
|
||||||
float3(d(2),d(0),d(0)),
|
|
||||||
float3(d(2),d(1),d(0))
|
|
||||||
};
|
|
||||||
static const float3 cga2h[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(1),d(3),d(1)),
|
|
||||||
float3(d(3),d(1),d(1)),
|
|
||||||
float3(d(3),d(2),d(1))
|
|
||||||
};
|
|
||||||
static const float3 cga3l[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(0),d(2),d(2)),
|
|
||||||
float3(d(2),d(0),d(0)),
|
|
||||||
float3(d(2),d(2),d(2))
|
|
||||||
};
|
|
||||||
static const float3 cga3h[4] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(1),d(3),d(3)),
|
|
||||||
float3(d(3),d(1),d(1)),
|
|
||||||
float3(d(3),d(3),d(3))
|
|
||||||
};
|
|
||||||
static const float3 stdega[16] =
|
|
||||||
{
|
|
||||||
float3(d(0),d(0),d(0)),
|
|
||||||
float3(d(2),d(0),d(0)),
|
|
||||||
float3(d(0),d(2),d(0)),
|
|
||||||
float3(d(2),d(1),d(0)),
|
|
||||||
float3(d(0),d(0),d(2)),
|
|
||||||
float3(d(2),d(0),d(2)),
|
|
||||||
float3(d(0),d(2),d(2)),
|
|
||||||
float3(d(2),d(2),d(2)),
|
|
||||||
float3(d(1),d(1),d(1)),
|
|
||||||
float3(d(3),d(1),d(1)),
|
|
||||||
float3(d(1),d(3),d(1)),
|
|
||||||
float3(d(3),d(3),d(1)),
|
|
||||||
float3(d(1),d(1),d(3)),
|
|
||||||
float3(d(3),d(1),d(3)),
|
|
||||||
float3(d(1),d(3),d(3)),
|
|
||||||
float3(d(3),d(3),d(3))
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
#define d(x) x/256.0
|
|
||||||
static const float3 aosega[16] =
|
|
||||||
{
|
|
||||||
float3(d( 0),d( 0),d( 0)),
|
|
||||||
float3(d(128),d( 0),d( 0)),
|
|
||||||
float3(d( 32),d(128),d( 0)),
|
|
||||||
float3(d(160),d( 64),d( 32)),
|
|
||||||
float3(d( 0),d( 32),d( 88)),
|
|
||||||
float3(d( 60),d( 0),d( 88)),
|
|
||||||
float3(d( 16),d(160),d(208)),
|
|
||||||
float3(d( 88),d( 88),d( 88)),
|
|
||||||
float3(d( 32),d( 32),d( 32)),
|
|
||||||
float3(d(256),d( 64),d( 64)),
|
|
||||||
float3(d( 72),d(256),d( 64)),
|
|
||||||
float3(d(256),d(224),d( 60)),
|
|
||||||
float3(d( 48),d(128),d(256)),
|
|
||||||
float3(d(192),d( 48),d(256)),
|
|
||||||
float3(d( 72),d(224),d(256)),
|
|
||||||
float3(d(256),d(256),d(256)),
|
|
||||||
};
|
|
||||||
#undef d
|
|
||||||
/* standard stuff (not all used) */
|
|
||||||
float tempF1;
|
|
||||||
float tempF2;
|
|
||||||
float tempF3;
|
|
||||||
float tempF4;
|
|
||||||
float tempF5;
|
|
||||||
float tempF6;
|
|
||||||
float tempF7;
|
|
||||||
float tempF8;
|
|
||||||
float tempF9;
|
|
||||||
float tempF0;
|
|
||||||
float4 ScreenSize;
|
|
||||||
float ENightDayFactor;
|
|
||||||
float EInteriorFactor;
|
|
||||||
float4 Timer;
|
|
||||||
float FieldOfView;
|
|
||||||
/* samplers and textures (some not yet used) */
|
|
||||||
texture2D texColor;
|
|
||||||
texture2D texDepth;
|
|
||||||
texture2D texPalette;
|
|
||||||
sampler2D SamplerColor = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texColor>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = LINEAR;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Clamp;
|
|
||||||
AddressV = Clamp;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
sampler2D SamplerDepth = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texDepth>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = LINEAR;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Clamp;
|
|
||||||
AddressV = Clamp;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
sampler2D SamplerPalette = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texPalette>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = LINEAR;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Clamp;
|
|
||||||
AddressV = Clamp;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
texture2D texNoise1
|
|
||||||
<
|
|
||||||
string ResourceName = "menbnoise1.png";
|
|
||||||
>;
|
|
||||||
texture2D texNoise2
|
|
||||||
<
|
|
||||||
string ResourceName = "menbnoise2.png";
|
|
||||||
>;
|
|
||||||
texture2D texNoise3
|
|
||||||
<
|
|
||||||
string ResourceName = "menbnoise3.png";
|
|
||||||
>;
|
|
||||||
sampler2D SamplerNoise1 = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texNoise1>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = POINT;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Wrap;
|
|
||||||
AddressV = Wrap;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
sampler2D SamplerNoise2 = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texNoise2>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = POINT;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Wrap;
|
|
||||||
AddressV = Wrap;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
sampler2D SamplerNoise3 = sampler_state
|
|
||||||
{
|
|
||||||
Texture = <texNoise3>;
|
|
||||||
MinFilter = LINEAR;
|
|
||||||
MagFilter = LINEAR;
|
|
||||||
MipFilter = NONE;
|
|
||||||
AddressU = Wrap;
|
|
||||||
AddressV = Wrap;
|
|
||||||
SRGBTexture = FALSE;
|
|
||||||
MaxMipLevel = 0;
|
|
||||||
MipMapLodBias = 0;
|
|
||||||
};
|
|
||||||
/* whatever */
|
|
||||||
struct VS_OUTPUT_POST
|
|
||||||
{
|
|
||||||
float4 vpos : POSITION;
|
|
||||||
float2 txcoord : TEXCOORD0;
|
|
||||||
};
|
|
||||||
struct VS_INPUT_POST
|
|
||||||
{
|
|
||||||
float3 pos : POSITION;
|
|
||||||
float2 txcoord : TEXCOORD0;
|
|
||||||
};
|
|
||||||
BIN
menblens.png
|
Before Width: | Height: | Size: 1.6 MiB |
BIN
menblensbump.png
|
Before Width: | Height: | Size: 2 MiB |
BIN
menbnoise1.png
|
Before Width: | Height: | Size: 181 KiB |
BIN
menbnoise2.png
|
Before Width: | Height: | Size: 108 KiB |
BIN
menbnoise3.png
|
Before Width: | Height: | Size: 193 KiB |
|
|
@ -1,340 +0,0 @@
|
||||||
/*
|
|
||||||
menbeffectfilters.fx : MariENB base shader routines.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
|
|
||||||
{
|
|
||||||
VS_OUTPUT_POST OUT;
|
|
||||||
OUT.vpos = float4(IN.pos.x,IN.pos.y,IN.pos.z,1.0);
|
|
||||||
OUT.txcoord.xy = IN.txcoord.xy;
|
|
||||||
return OUT;
|
|
||||||
}
|
|
||||||
/* Focus */
|
|
||||||
float4 PS_ReadFocus( VS_OUTPUT_POST IN ) : COLOR
|
|
||||||
{
|
|
||||||
float cfocus = tex2D(SamplerDepth,0.5).x;
|
|
||||||
if ( !focuscircle || (focusslice <= 0) || (focuscircles <= 0) )
|
|
||||||
return cfocus;
|
|
||||||
int i, j;
|
|
||||||
float step = (1.0/focusslice);
|
|
||||||
float mfocus;
|
|
||||||
float2 coord;
|
|
||||||
float2 bof = float2(1.0,ScreenSize.w)*focusradius*0.01;
|
|
||||||
for ( i=0; i<focuscircles; i++ )
|
|
||||||
{
|
|
||||||
mfocus = 0.0;
|
|
||||||
for ( j=0; j<focusslice; j++ )
|
|
||||||
{
|
|
||||||
coord.x = 0.5+cos(2.0*pi*float(j)*step)*bof.x;
|
|
||||||
coord.y = 0.5+sin(2.0*pi*float(j)*step)*bof.y;
|
|
||||||
mfocus += step*tex2D(SamplerDepth,coord).x;
|
|
||||||
}
|
|
||||||
bof *= 0.5;
|
|
||||||
cfocus = (1.0-focusmix)*cfocus+focusmix*mfocus;
|
|
||||||
}
|
|
||||||
return cfocus;
|
|
||||||
}
|
|
||||||
float4 PS_WriteFocus( VS_OUTPUT_POST IN ) : COLOR
|
|
||||||
{
|
|
||||||
return max(lerp(tex2D(SamplerPrev,0.5).x,tex2D(SamplerCurr,0.5).x,
|
|
||||||
saturate(FadeFactor)),0.0);
|
|
||||||
}
|
|
||||||
/* Dummy */
|
|
||||||
float4 PS_DummyPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
return tex2D(SamplerColor,IN.txcoord.xy);
|
|
||||||
}
|
|
||||||
/* border detect */
|
|
||||||
float4 PS_Border( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = IN.txcoord.xy;
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !celenable )
|
|
||||||
return res;
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*celradius;
|
|
||||||
float3x3 GX = {-1,0,1,-2,0,2,-1,0,1}, GY = {1,2,1,0,0,0,-1,-2,-1};
|
|
||||||
float mdx = 0, mdy = 0, mud;
|
|
||||||
int i,j;
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
{
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
{
|
|
||||||
mdx += GX[i+1][j+1]*tex2D(SamplerDepth,coord
|
|
||||||
+float2(i,j)*bof).x;
|
|
||||||
mdy += GY[i+1][j+1]*tex2D(SamplerDepth,coord
|
|
||||||
+float2(i,j)*bof).x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mud = pow(pow(mdx,2)+pow(mdy,2),0.5);
|
|
||||||
mud = saturate(pow(mud+celbump,celpower)*celmult);
|
|
||||||
float depth = tex2D(SamplerDepth,coord).x;
|
|
||||||
if ( depth >= celtrim )
|
|
||||||
mud = 0.0;
|
|
||||||
mud *= saturate(depth*celfade);
|
|
||||||
if ( celmode == 1 )
|
|
||||||
res.rgb = (1.0-saturate(tex2D(SamplerDepth,coord).x))
|
|
||||||
*(1.0-saturate(mud*celblend));
|
|
||||||
else if ( celmode == 2 )
|
|
||||||
res.rgb *= saturate(mud*celblend);
|
|
||||||
else if ( celmode == 3 )
|
|
||||||
res.rgb = saturate(mud*celblend);
|
|
||||||
else
|
|
||||||
res.rgb *= 1.0-saturate(mud*celblend);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
/* SSAO */
|
|
||||||
float3 pseudonormal( float dep, float2 coord )
|
|
||||||
{
|
|
||||||
float2 ofs1 = float2(ssaonoff1*0.01,ssaonoff2*0.01);
|
|
||||||
float2 ofs2 = float2(ssaonoff3*0.01,ssaonoff4*0.01);
|
|
||||||
float dep1 = tex2D(SamplerDepth,coord+ofs1).x;
|
|
||||||
float dep2 = tex2D(SamplerDepth,coord+ofs2).x;
|
|
||||||
float3 p1 = float3(ofs1,dep1-dep);
|
|
||||||
float3 p2 = float3(ofs2,dep2-dep);
|
|
||||||
float3 normal = cross(p1,p2);
|
|
||||||
normal.z = -normal.z;
|
|
||||||
return normalize(normal);
|
|
||||||
}
|
|
||||||
float4 PS_SSAO( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = IN.txcoord.xy;
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !ssaoenable )
|
|
||||||
return res;
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*ssaoradius;
|
|
||||||
float depth = tex2D(SamplerDepth,coord).x;
|
|
||||||
float3 normal = pseudonormal(depth,coord);
|
|
||||||
float2 nc = tex2D(SamplerNoise,coord).xy;
|
|
||||||
normal += ssaonoise*normalize(tex2D(SamplerNoise,
|
|
||||||
float2(1.0,ScreenSize.w)*nc*ssaonoisesize).xyz*2.0-1.0);
|
|
||||||
normal = normalize(normal);
|
|
||||||
float occ = 0.0;
|
|
||||||
int i;
|
|
||||||
for( i=0; i<16; i++ )
|
|
||||||
{
|
|
||||||
float3 cs = ssao_samples[i];
|
|
||||||
cs = reflect(cs,normal);
|
|
||||||
float2 tc = float2(coord+i*cs.xy*bof);
|
|
||||||
float nd = tex2D(SamplerDepth,tc).x;
|
|
||||||
float dif = nd-depth;
|
|
||||||
float fall;
|
|
||||||
if ( nd > depth )
|
|
||||||
occ += 1.0/(1.0+(pow(dif,2)));
|
|
||||||
}
|
|
||||||
float uocc = 1.0-(occ/16.0);
|
|
||||||
uocc = saturate(pow(uocc+ssaobump,ssaopow)*ssaomult);
|
|
||||||
uocc *= saturate(depth*ssaofade);
|
|
||||||
if ( depth >= ssaotrim )
|
|
||||||
uocc = 0.0;
|
|
||||||
if ( ssaodebug == 1 )
|
|
||||||
return uocc;
|
|
||||||
else if ( ssaodebug == 2 )
|
|
||||||
return (float4(normal.x,normal.y,normal.z,1.0)+1.0)*0.5;
|
|
||||||
res.a = (1.0-(uocc*ssaoblend));
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
float4 PS_SSAO_Post( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = IN.txcoord.xy;
|
|
||||||
float4 res = tex2D(SamplerColor,coord);
|
|
||||||
if ( !ssaoenable )
|
|
||||||
return res;
|
|
||||||
if ( !ssaobenable || (ssaodebug != 0) )
|
|
||||||
return res*res.a;
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*ssaobradius;
|
|
||||||
int i,j;
|
|
||||||
res.a *= 0;
|
|
||||||
if ( ssaoblevel == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
res.a += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof).a;
|
|
||||||
}
|
|
||||||
else if ( ssaoblevel == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
res.a += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof).a;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
res.a += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof).a;
|
|
||||||
}
|
|
||||||
res *= res.a;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
/* Depth of Field */
|
|
||||||
float4 PS_DoF( VS_OUTPUT_POST IN, float2 vPos : VPOS, uniform int p ) : COLOR
|
|
||||||
{
|
|
||||||
float2 coord = IN.txcoord.xy;
|
|
||||||
if ( !dofenable )
|
|
||||||
return tex2D(SamplerColor,coord);
|
|
||||||
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
|
||||||
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*dofradius
|
|
||||||
*pow(clamp(doflevel+1,1,3),p);
|
|
||||||
float dep = tex2D(SamplerDepth,coord).x;
|
|
||||||
float foc = tex2D(SamplerFocus,coord).x;
|
|
||||||
float dfc = abs(dep-foc);
|
|
||||||
dfc = saturate(pow(dfc+dofbump,dofpow)*dofmult);
|
|
||||||
if ( dep >= doftrim )
|
|
||||||
dfc = 0.0;
|
|
||||||
int i,j;
|
|
||||||
float4 res = 0.0;
|
|
||||||
if ( doflevel == 1 )
|
|
||||||
{
|
|
||||||
for ( i=-2; i<=2; i++ )
|
|
||||||
for ( j=-2; j<=2; j++ )
|
|
||||||
res += gauss5[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof*dfc);
|
|
||||||
}
|
|
||||||
else if ( doflevel == 2 )
|
|
||||||
{
|
|
||||||
for ( i=-3; i<=3; i++ )
|
|
||||||
for ( j=-3; j<=3; j++ )
|
|
||||||
res += gauss7[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof*dfc);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for ( i=-1; i<=1; i++ )
|
|
||||||
for ( j=-1; j<=1; j++ )
|
|
||||||
res += gauss3[abs(i)][abs(j)]
|
|
||||||
*tex2D(SamplerColor,coord+float2(i,j)
|
|
||||||
*bof*dfc);
|
|
||||||
}
|
|
||||||
if ( dofdebug == 1 )
|
|
||||||
return dfc;
|
|
||||||
else if ( dofdebug == 2 )
|
|
||||||
return dep;
|
|
||||||
return (1.0-dofblend)*tex2D(SamplerColor,coord)+dofblend*res;
|
|
||||||
}
|
|
||||||
technique ReadFocus
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_ReadFocus();
|
|
||||||
ZENABLE = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique WriteFocus
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_WriteFocus();
|
|
||||||
ZENABLE = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_Border();
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess2
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_SSAO();
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess3
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_SSAO_Post();
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess4
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_DoF(0);
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique PostProcess5
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
VertexShader = compile vs_3_0 VS_Pass();
|
|
||||||
PixelShader = compile ps_3_0 PS_DoF(1);
|
|
||||||
DitherEnable = FALSE;
|
|
||||||
ZEnable = FALSE;
|
|
||||||
CullMode = NONE;
|
|
||||||
ALPHATESTENABLE = FALSE;
|
|
||||||
SEPARATEALPHABLENDENABLE = FALSE;
|
|
||||||
AlphaBlendEnable = FALSE;
|
|
||||||
StencilEnable = FALSE;
|
|
||||||
FogEnable = FALSE;
|
|
||||||
SRGBWRITEENABLE = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,215 +0,0 @@
|
||||||
/*
|
|
||||||
menbprepasssettings.fx : MariENB prepass user-tweakable variables.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* circle average focus */
|
|
||||||
bool focuscircle
|
|
||||||
<
|
|
||||||
string UIName = "FocusCircleEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
int focusslice
|
|
||||||
<
|
|
||||||
string UIName = "FocusCircleSlices";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {4};
|
|
||||||
int focuscircles
|
|
||||||
<
|
|
||||||
string UIName = "FocusCircleCircles";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1};
|
|
||||||
float focusradius
|
|
||||||
<
|
|
||||||
string UIName = "FocusCircleRadius";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {12.5};
|
|
||||||
float focusmix
|
|
||||||
<
|
|
||||||
string UIName = "FocusCircleMix";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.25};
|
|
||||||
/* cel filter */
|
|
||||||
bool celenable
|
|
||||||
<
|
|
||||||
string UIName = "CelEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
int celmode
|
|
||||||
<
|
|
||||||
string UIName = "CelMode";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0};
|
|
||||||
float celradius
|
|
||||||
<
|
|
||||||
string UIName = "CelRadius";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float celpower
|
|
||||||
<
|
|
||||||
string UIName = "CelPower";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float celbump
|
|
||||||
<
|
|
||||||
string UIName = "CelBump";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float celmult
|
|
||||||
<
|
|
||||||
string UIName = "CelMult";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float celblend
|
|
||||||
<
|
|
||||||
string UIName = "CelBlend";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float celtrim
|
|
||||||
<
|
|
||||||
string UIName = "CelTrim";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float celfade
|
|
||||||
<
|
|
||||||
string UIName = "CelFade";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.5};
|
|
||||||
/* ssao filter */
|
|
||||||
bool ssaoenable
|
|
||||||
<
|
|
||||||
string UIName = "SSAOEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
int ssaodebug
|
|
||||||
<
|
|
||||||
string UIName = "SSAODebug";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = 0;
|
|
||||||
float ssaonoff1
|
|
||||||
<
|
|
||||||
string UIName = "SSAONormalOffset1";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float ssaonoff2
|
|
||||||
<
|
|
||||||
string UIName = "SSAONormalOffset2";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.1};
|
|
||||||
float ssaonoff3
|
|
||||||
<
|
|
||||||
string UIName = "SSAONormalOffset3";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.1};
|
|
||||||
float ssaonoff4
|
|
||||||
<
|
|
||||||
string UIName = "SSAONormalOffset4";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float ssaoradius
|
|
||||||
<
|
|
||||||
string UIName = "SSAORadius";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float ssaonoise
|
|
||||||
<
|
|
||||||
string UIName = "SSAONoise";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.1};
|
|
||||||
float ssaonoisesize
|
|
||||||
<
|
|
||||||
string UIName = "SSAONoiseSize";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {64.0};
|
|
||||||
float ssaotrim
|
|
||||||
<
|
|
||||||
string UIName = "SSAOTrim";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float ssaofade
|
|
||||||
<
|
|
||||||
string UIName = "SSAOFade";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.5};
|
|
||||||
float ssaobump
|
|
||||||
<
|
|
||||||
string UIName = "SSAOBump";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float ssaomult
|
|
||||||
<
|
|
||||||
string UIName = "SSAOMult";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float ssaopow
|
|
||||||
<
|
|
||||||
string UIName = "SSAOPower";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float ssaoblend
|
|
||||||
<
|
|
||||||
string UIName = "SSAOBlend";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
bool ssaobenable
|
|
||||||
<
|
|
||||||
string UIName = "SSAOBlurEnable";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {true};
|
|
||||||
float ssaobradius
|
|
||||||
<
|
|
||||||
string UIName = "SSAOBlurRadius";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
int ssaoblevel
|
|
||||||
<
|
|
||||||
string UIName = "SSAOBlurLevel";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2};
|
|
||||||
/* dof filter */
|
|
||||||
bool dofenable
|
|
||||||
<
|
|
||||||
string UIName = "DoFEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
int dofdebug
|
|
||||||
<
|
|
||||||
string UIName = "DoFDebug";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0};
|
|
||||||
float dofradius
|
|
||||||
<
|
|
||||||
string UIName = "DoFRadius";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
int doflevel
|
|
||||||
<
|
|
||||||
string UIName = "DoFLevel";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2};
|
|
||||||
float dofbump
|
|
||||||
<
|
|
||||||
string UIName = "DoFBump";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float dofmult
|
|
||||||
<
|
|
||||||
string UIName = "DoFMult";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float dofpow
|
|
||||||
<
|
|
||||||
string UIName = "DoFPow";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float dofblend
|
|
||||||
<
|
|
||||||
string UIName = "DoFBlend";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float doftrim
|
|
||||||
<
|
|
||||||
string UIName = "DoFTrim";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
872
menbsettings.fx
|
|
@ -1,872 +0,0 @@
|
||||||
/*
|
|
||||||
menbsettings.fx : MariENB user-tweakable variables.
|
|
||||||
(C)2013-2014 Marisa Kirisame, UnSX Team.
|
|
||||||
Part of MariENB, the personal ENB of Marisa.
|
|
||||||
Released under the MIT License.
|
|
||||||
*/
|
|
||||||
/* FXAA */
|
|
||||||
bool fxaaenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableFXAA";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
float fxaaspanmax
|
|
||||||
<
|
|
||||||
string UIName = "FXAASpanMax";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {4.0};
|
|
||||||
float fxaareducemul
|
|
||||||
<
|
|
||||||
string UIName = "FXAAReduceMul";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {16.0};
|
|
||||||
float fxaareducemin
|
|
||||||
<
|
|
||||||
string UIName = "FXAAReduceMin";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {128.0};
|
|
||||||
/* border blurring */
|
|
||||||
bool bbenable
|
|
||||||
<
|
|
||||||
string UIName = "BlurEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* border blur sampling range */
|
|
||||||
float bbsamp_n
|
|
||||||
<
|
|
||||||
string UIName = "BlurSampleNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float bbsamp_d
|
|
||||||
<
|
|
||||||
string UIName = "BlurSampleDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float bbsamp_in
|
|
||||||
<
|
|
||||||
string UIName = "BlurSampleInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float bbsamp_id
|
|
||||||
<
|
|
||||||
string UIName = "BlurSampleInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* border blur level */
|
|
||||||
int bblevel
|
|
||||||
<
|
|
||||||
string UIName = "BlurLevel";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1};
|
|
||||||
/* blend power of blur */
|
|
||||||
float bbpow_n
|
|
||||||
<
|
|
||||||
string UIName = "BlurPowerNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {15.46};
|
|
||||||
float bbpow_d
|
|
||||||
<
|
|
||||||
string UIName = "BlurPowerDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {15.46};
|
|
||||||
float bbpow_in
|
|
||||||
<
|
|
||||||
string UIName = "BlurPowerInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {15.46};
|
|
||||||
float bbpow_id
|
|
||||||
<
|
|
||||||
string UIName = "BlurPowerInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {15.46};
|
|
||||||
/* falloff curve of blur towards center of screen */
|
|
||||||
float bbcurve_n
|
|
||||||
<
|
|
||||||
string UIName = "BlurCurveNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.2};
|
|
||||||
float bbcurve_d
|
|
||||||
<
|
|
||||||
string UIName = "BlurCurveDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.2};
|
|
||||||
float bbcurve_in
|
|
||||||
<
|
|
||||||
string UIName = "BlurCurveInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.2};
|
|
||||||
float bbcurve_id
|
|
||||||
<
|
|
||||||
string UIName = "BlurCurveInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.2};
|
|
||||||
/* blur falloff radius */
|
|
||||||
float bbradius_n
|
|
||||||
<
|
|
||||||
string UIName = "BlurRadiusNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.69};
|
|
||||||
float bbradius_d
|
|
||||||
<
|
|
||||||
string UIName = "BlurRadiusDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.69};
|
|
||||||
float bbradius_in
|
|
||||||
<
|
|
||||||
string UIName = "BlurRadiusInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.69};
|
|
||||||
float bbradius_id
|
|
||||||
<
|
|
||||||
string UIName = "BlurRadiusInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.69};
|
|
||||||
/* border darkening */
|
|
||||||
bool dkenable
|
|
||||||
<
|
|
||||||
string UIName = "DarkEnable";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* radius of darkening (relative to screen width) */
|
|
||||||
float dkradius_n
|
|
||||||
<
|
|
||||||
string UIName = "DarkRadiusNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.37};
|
|
||||||
float dkradius_d
|
|
||||||
<
|
|
||||||
string UIName = "DarkRadiusDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.37};
|
|
||||||
float dkradius_in
|
|
||||||
<
|
|
||||||
string UIName = "DarkRadiusInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.37};
|
|
||||||
float dkradius_id
|
|
||||||
<
|
|
||||||
string UIName = "DarkRadiusInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.37};
|
|
||||||
/* falloff of darkening */
|
|
||||||
float dkcurve_n
|
|
||||||
<
|
|
||||||
string UIName = "DarkCurveNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.94};
|
|
||||||
float dkcurve_d
|
|
||||||
<
|
|
||||||
string UIName = "DarkCurveDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.94};
|
|
||||||
float dkcurve_in
|
|
||||||
<
|
|
||||||
string UIName = "DarkCurveInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.94};
|
|
||||||
float dkcurve_id
|
|
||||||
<
|
|
||||||
string UIName = "DarkCurveInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.94};
|
|
||||||
/* bump of darkening */
|
|
||||||
float dkbump_n
|
|
||||||
<
|
|
||||||
string UIName = "DarkBumpNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.79};
|
|
||||||
float dkbump_d
|
|
||||||
<
|
|
||||||
string UIName = "DarkBumpDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.79};
|
|
||||||
float dkbump_in
|
|
||||||
<
|
|
||||||
string UIName = "DarkBumpInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.79};
|
|
||||||
float dkbump_id
|
|
||||||
<
|
|
||||||
string UIName = "DarkBumpInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.79};
|
|
||||||
/* shine/bloom compensation */
|
|
||||||
bool compenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableCompensate";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* compensation factor */
|
|
||||||
float compfactor_n
|
|
||||||
<
|
|
||||||
string UIName = "CompensateFactorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.19};
|
|
||||||
float compfactor_d
|
|
||||||
<
|
|
||||||
string UIName = "CompensateFactorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.19};
|
|
||||||
float compfactor_in
|
|
||||||
<
|
|
||||||
string UIName = "CompensateFactorInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.19};
|
|
||||||
float compfactor_id
|
|
||||||
<
|
|
||||||
string UIName = "CompensateFactorInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.19};
|
|
||||||
/* compensation power */
|
|
||||||
float comppow_n
|
|
||||||
<
|
|
||||||
string UIName = "CompensatePowerNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.05};
|
|
||||||
float comppow_d
|
|
||||||
<
|
|
||||||
string UIName = "CompensatePowerDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.05};
|
|
||||||
float comppow_in
|
|
||||||
<
|
|
||||||
string UIName = "CompensatePowerInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.05};
|
|
||||||
float comppow_id
|
|
||||||
<
|
|
||||||
string UIName = "CompensatePowerInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.05};
|
|
||||||
/* compensation saturation */
|
|
||||||
float compsat_n
|
|
||||||
<
|
|
||||||
string UIName = "CompensateSaturationNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.3};
|
|
||||||
float compsat_d
|
|
||||||
<
|
|
||||||
string UIName = "CompensateSaturationDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.3};
|
|
||||||
float compsat_in
|
|
||||||
<
|
|
||||||
string UIName = "CompensateSaturationInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.3};
|
|
||||||
float compsat_id
|
|
||||||
<
|
|
||||||
string UIName = "CompensateSaturationInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.3};
|
|
||||||
/* brightness bump for compensation */
|
|
||||||
float compbump_n
|
|
||||||
<
|
|
||||||
string UIName = "CompensateBumpNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float compbump_d
|
|
||||||
<
|
|
||||||
string UIName = "CompensateBumpDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float compbump_in
|
|
||||||
<
|
|
||||||
string UIName = "CompensateBumpInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float compbump_id
|
|
||||||
<
|
|
||||||
string UIName = "CompensateBumpInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
bool gradeenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableGrading";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* miscellaneous color grading parameters */
|
|
||||||
float gradeadd_r_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddRNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_g_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddGNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_b_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddBNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_r_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddRDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_g_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddGDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_b_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddBDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_r_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddRInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_g_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddGInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_b_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddBInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_r_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddRInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_g_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddGInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float gradeadd_b_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingAddBInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float grademul_r_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulRNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.02};
|
|
||||||
float grademul_g_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulGNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float grademul_b_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulBNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.04};
|
|
||||||
float grademul_r_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulRDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.02};
|
|
||||||
float grademul_g_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulGDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float grademul_b_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulBDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.04};
|
|
||||||
float grademul_r_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulRInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.02};
|
|
||||||
float grademul_g_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulGInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float grademul_b_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulBInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.04};
|
|
||||||
float grademul_r_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulRInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.02};
|
|
||||||
float grademul_g_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulGInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float grademul_b_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingMulBInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.04};
|
|
||||||
float gradepow_r_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowRNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.07};
|
|
||||||
float gradepow_g_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowGNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.12};
|
|
||||||
float gradepow_b_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowBNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float gradepow_r_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowRDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.07};
|
|
||||||
float gradepow_g_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowGDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.12};
|
|
||||||
float gradepow_b_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowBDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float gradepow_r_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowRInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.07};
|
|
||||||
float gradepow_g_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowGInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.12};
|
|
||||||
float gradepow_b_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowBInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float gradepow_r_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowRInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.07};
|
|
||||||
float gradepow_g_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowGInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.12};
|
|
||||||
float gradepow_b_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingPowBInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.08};
|
|
||||||
float gradecol_r_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingColRNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float gradecol_g_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingColGNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.07};
|
|
||||||
float gradecol_b_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingColBNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.59};
|
|
||||||
float gradecol_r_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingColRDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float gradecol_g_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingColGDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.07};
|
|
||||||
float gradecol_b_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingColBDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.59};
|
|
||||||
float gradecol_r_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingColRInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float gradecol_g_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingColGInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.07};
|
|
||||||
float gradecol_b_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingColBInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.59};
|
|
||||||
float gradecol_r_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingColRInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float gradecol_g_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingColGInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.07};
|
|
||||||
float gradecol_b_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingColBInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.59};
|
|
||||||
float gradecolfact_n
|
|
||||||
<
|
|
||||||
string UIName = "GradingColFactorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.24};
|
|
||||||
float gradecolfact_d
|
|
||||||
<
|
|
||||||
string UIName = "GradingColFactorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.24};
|
|
||||||
float gradecolfact_in
|
|
||||||
<
|
|
||||||
string UIName = "GradingColFactorInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.24};
|
|
||||||
float gradecolfact_id
|
|
||||||
<
|
|
||||||
string UIName = "GradingColFactorInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.24};
|
|
||||||
/* Soft grain */
|
|
||||||
bool ne
|
|
||||||
<
|
|
||||||
string UIName = "EnableSoftGrain";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* soft grain speed */
|
|
||||||
float nf_n
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSpeedNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.68};
|
|
||||||
float nf_d
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSpeedDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.68};
|
|
||||||
float nf_in
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSpeedInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.68};
|
|
||||||
float nf_id
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSpeedInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.68};
|
|
||||||
/* soft grain intensity */
|
|
||||||
float ni_n
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainIntensityNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float ni_d
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainIntensityDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float ni_in
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainIntensityInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
float ni_id
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainIntensityInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.04};
|
|
||||||
/* soft grain saturation */
|
|
||||||
float ns_n
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSaturationNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.09};
|
|
||||||
float ns_d
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSaturationDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.09};
|
|
||||||
float ns_in
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSaturationInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.09};
|
|
||||||
float ns_id
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainSaturationInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.09};
|
|
||||||
/* Two-pass noise */
|
|
||||||
bool np
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainTwopass";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* grain blend function: 0 normal, 1 add, 2 overlay, 3 multiply */
|
|
||||||
int nb
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainBlendfunc";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1};
|
|
||||||
/* grain deviation */
|
|
||||||
float nk
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainDeviation";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.05};
|
|
||||||
/* grain magnification */
|
|
||||||
float nm1
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification1";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.25};
|
|
||||||
float nm2
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification2";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.64};
|
|
||||||
float nm3
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification3";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.35};
|
|
||||||
/* grain magnification pass 1 */
|
|
||||||
float nm11
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification11";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.05};
|
|
||||||
float nm12
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification12";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {3.11};
|
|
||||||
float nm13
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification13";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.22};
|
|
||||||
/* grain magnification pass 2 */
|
|
||||||
float nm21
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification21";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {4.25};
|
|
||||||
float nm22
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification22";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.42};
|
|
||||||
float nm23
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainMagnification23";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {6.29};
|
|
||||||
/* grain power */
|
|
||||||
float nj_n
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainPowerNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.93};
|
|
||||||
float nj_d
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainPowerDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.93};
|
|
||||||
float nj_in
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainPowerInteriorNight";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.93};
|
|
||||||
float nj_id
|
|
||||||
<
|
|
||||||
string UIName = "SoftGrainPowerInteriorDay";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {2.93};
|
|
||||||
/* Block graphics filter with palette reduction */
|
|
||||||
bool benable
|
|
||||||
<
|
|
||||||
string UIName = "EnableBlockGFX";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
/* emulated resolution for block graphics (0 or less for real resolution) */
|
|
||||||
float bresw
|
|
||||||
<
|
|
||||||
string UIName = "BlockGFXResolutionW";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
float bresh
|
|
||||||
<
|
|
||||||
string UIName = "BlockGFXResolutionH";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* palette type for block graphics */
|
|
||||||
int bpaltype
|
|
||||||
<
|
|
||||||
string UIName = "BlockGFXpalette";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {5};
|
|
||||||
/* CGA subpalette */
|
|
||||||
int bcganum
|
|
||||||
<
|
|
||||||
string UIName = "BlockGFXcgamode";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0};
|
|
||||||
/* EGA subpalette */
|
|
||||||
int beganum
|
|
||||||
<
|
|
||||||
string UIName = "BlockGFXegamode";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0};
|
|
||||||
/* Dithering method */
|
|
||||||
int bdither
|
|
||||||
<
|
|
||||||
string UIName= "BlockGFXDither";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {4};
|
|
||||||
/* Gamma modifier */
|
|
||||||
float bgamma
|
|
||||||
<
|
|
||||||
string UIName= "BlockGFXPrepassGamma";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* dither bump */
|
|
||||||
float bdbump
|
|
||||||
<
|
|
||||||
string UIName= "BlockGFXDitherBump";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {-0.01};
|
|
||||||
/* dither multiplier */
|
|
||||||
float bdmult
|
|
||||||
<
|
|
||||||
string UIName= "BlockGFXDitherMultiplier";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.02};
|
|
||||||
/* dither saturation */
|
|
||||||
float bsaturation
|
|
||||||
<
|
|
||||||
string UIName= "BlockGFXPrepassSaturation";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* Dirty screen effect (static noise) */
|
|
||||||
bool dirtenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableDirt";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* dirt amount */
|
|
||||||
float dirtcfactor
|
|
||||||
<
|
|
||||||
string UIName = "DirtCoordFactor";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.09};
|
|
||||||
float dirtlfactor
|
|
||||||
<
|
|
||||||
string UIName = "DirtLuminanceFactor";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
float dirtmc
|
|
||||||
<
|
|
||||||
string UIName = "DirtCoordMagnification";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {3.04};
|
|
||||||
float dirtml
|
|
||||||
<
|
|
||||||
string UIName = "DirtLuminanceMagnification";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* Letterbox */
|
|
||||||
bool boxe
|
|
||||||
<
|
|
||||||
string UIName = "EnableBox";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {true};
|
|
||||||
/* horizontal factor */
|
|
||||||
float boxh
|
|
||||||
<
|
|
||||||
string UIName = "BoxHorizontal";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.5};
|
|
||||||
/* vertical factor */
|
|
||||||
float boxv
|
|
||||||
<
|
|
||||||
string UIName = "BoxVertical";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {1.0};
|
|
||||||
/* softening */
|
|
||||||
float boxb
|
|
||||||
<
|
|
||||||
string UIName = "BoxSoften";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.02};
|
|
||||||
/* box alpha */
|
|
||||||
float boxa
|
|
||||||
<
|
|
||||||
string UIName = "BoxAlpha";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {6.07};
|
|
||||||
/* Use CRT curvature shader */
|
|
||||||
bool crtenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableCurvature";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
/* chromatic aberration on CRT: fancy effect that isn't really realistic */
|
|
||||||
float chromaab
|
|
||||||
<
|
|
||||||
string UIName = "CurveChromaticAberration";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.93};
|
|
||||||
/* curvature lens zoom (0.5 = none) */
|
|
||||||
float lenszoom
|
|
||||||
<
|
|
||||||
string UIName = "CurveZoom";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {50.0};
|
|
||||||
/* curvature lens distortion */
|
|
||||||
float lensdist
|
|
||||||
<
|
|
||||||
string UIName = "CurveLens";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
/* curvature CUBIC lens distortion */
|
|
||||||
float lensdistc
|
|
||||||
<
|
|
||||||
string UIName = "CurveLensCubic";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.0};
|
|
||||||
/* Use sharpening filter */
|
|
||||||
bool shenable
|
|
||||||
<
|
|
||||||
string UIName = "EnableSharpen";
|
|
||||||
string UIWidget = "Checkbox";
|
|
||||||
> = {false};
|
|
||||||
float shsamp
|
|
||||||
<
|
|
||||||
string UIName = "SharpenSample";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.6};
|
|
||||||
float shblend
|
|
||||||
<
|
|
||||||
string UIName = "SharpenBlend";
|
|
||||||
string UIWidget = "Spinner";
|
|
||||||
> = {0.2};
|
|
||||||