1
Fork 0
This commit is contained in:
Marisa the Magician 2019-04-07 17:09:23 +02:00
commit 866383d673
12 changed files with 336 additions and 161 deletions

View file

@ -5,14 +5,14 @@
[GLOBAL]
AdditionalConfigFile=
UseEffect=true
UseEffect=false
[EFFECT]
UseOriginalPostProcessing=false
UseOriginalObjectsProcessing=false
EnableBloom=true
EnableAdaptation=false
EnableAmbientOcclusion=false
EnableAmbientOcclusion=true
EnableDepthOfField=true
EnableDetailedShadow=true
EnableSunRays=true
@ -64,8 +64,8 @@ LenzReflectionPowerInteriorDay=1.0
LenzReflectionPowerInteriorNight=1.0
[SSAO_SSIL]
UseIndirectLighting=true
UseComplexIndirectLighting=true
UseIndirectLighting=false
UseComplexIndirectLighting=false
SamplingQuality=1
SamplingRange=1.0
FadeFogRangeDay=0.0
@ -76,8 +76,8 @@ SourceTexturesScale=0.5
FilterQuality=1
AOAmount=1.0
ILAmount=1.0
UseComplexAmbientOcclusion=true
UseAmbientIndirectLighting=true
UseComplexAmbientOcclusion=false
UseAmbientIndirectLighting=false
SamplingPrecision=1
FadeFogRange=0.0
FilterType=0
@ -91,7 +91,7 @@ AOMixingTypeInterior=0
UseOldType=false
EnableDenoiser=true
EnableSupersampling=false
EnableComplexFilter=true
EnableComplexFilter=false
ILType=0
[NIGHTDAY]
@ -110,16 +110,16 @@ AdaptationMax=1.0
[ENVIRONMENT]
DirectLightingIntensityDay=1.22
DirectLightingIntensityNight=1.02
DirectLightingIntensityNight=0.38
DirectLightingIntensityInterior=1.014688
DirectLightingCurveDay=1.08
DirectLightingCurveNight=0.88
DirectLightingCurveNight=0.92
DirectLightingCurveInterior=1.25
DirectLightingDesaturationDay=0.05
DirectLightingDesaturationNight=0.18
DirectLightingDesaturationNight=0.3
DirectLightingDesaturationInterior=0.0
SpecularAmountMultiplierDay=1.03
SpecularAmountMultiplierNight=1.33
SpecularAmountMultiplierDay=2.06
SpecularAmountMultiplierNight=2.91
SpecularAmountMultiplierInterior=1.0
SpecularPowerMultiplierDay=0.651
SpecularPowerMultiplierNight=0.351
@ -157,23 +157,23 @@ ColorPowInterior=0.9
DirectLightingIntensitySunrise=1.3
DirectLightingIntensitySunset=1.45
DirectLightingIntensityInteriorDay=1.14
DirectLightingIntensityInteriorNight=0.96
DirectLightingIntensityInteriorNight=0.56
DirectLightingCurveSunrise=1.26
DirectLightingCurveSunset=1.62
DirectLightingCurveInteriorDay=1.05
DirectLightingCurveInteriorNight=0.85
DirectLightingCurveInteriorNight=0.92
DirectLightingDesaturationSunrise=0.02
DirectLightingDesaturationSunset=0.01
DirectLightingDesaturationInteriorDay=0.08
DirectLightingDesaturationInteriorNight=0.15
SpecularAmountMultiplierSunrise=1.49
SpecularAmountMultiplierSunset=1.62
SpecularAmountMultiplierInteriorDay=1.21
SpecularAmountMultiplierInteriorNight=1.17
SpecularPowerMultiplierSunrise=0.241
SpecularPowerMultiplierSunset=0.101
SpecularPowerMultiplierInteriorDay=0.511
SpecularPowerMultiplierInteriorNight=0.371
DirectLightingDesaturationInteriorNight=0.24
SpecularAmountMultiplierSunrise=2.55
SpecularAmountMultiplierSunset=3.11
SpecularAmountMultiplierInteriorDay=2.22
SpecularAmountMultiplierInteriorNight=2.72
SpecularPowerMultiplierSunrise=0.361
SpecularPowerMultiplierSunset=0.231
SpecularPowerMultiplierInteriorDay=0.391
SpecularPowerMultiplierInteriorNight=0.321
SpecularFromLightSunrise=0.0
SpecularFromLightSunset=0.0
SpecularFromLightInteriorDay=0.0
@ -510,7 +510,7 @@ DetailedShadowQuality=1
UseBilateralShadowFilter=true
UseShadowFilter=true
ShadowFilterQuality=1
ShadowBlurRange=4.36
ShadowBlurRange=4.42
ShadowBlurRangeInterior=5.24
IgnoreWeatherSystem=true
@ -646,17 +646,18 @@ IgnoreWeatherSystem=true
[SUBSURFACESCATTERING]
Quality=1
Radius=1.0
Amount=0.6
EpidermalAmount=1.64
Radius=4.0
Amount=0.77
EpidermalAmount=3.74
SubdermalAmount=5.28
EpidermalDiffuseSaturation=-0.77
SubdermalDiffuseSaturation=0.45
EpidermalMix=0.87
SubdermalMix=0.19
EpidermalDiffuseSaturation=-0.83
SubdermalDiffuseSaturation=0.06
EpidermalMix=0.85
SubdermalMix=0.27
SubdermalTranslucency=0.95
SubdermalPhase=0.95
IgnoreWeatherSystem=true
EnableTextureAlpha=true
[LENS]
ReflectionIntensitySunrise=1.049999

View file

@ -5,24 +5,24 @@ EmulatedResX=0.0
EmulatedResY=0.0
PaletteType=2
CGAPalette=1
EGAPalette=0
EGAPalette=1
DitherMode=4
GammaMod=0.45
DitherBump=-0.2
DitherMultiplier=0.25
DitherBump=-0.05
DitherMultiplier=0.2
SaturationMod=1.5
UseCurve=false
CurveChromaAberration=0.06
CurveLensZoom=50.25
CurveChromaAberration=0.08
CurveLensZoom=50.39996
CurveLensDistortion=0.0
CurveLensDistortionCubic=0.0
CurveLensClamp=true
UseGrain=false
UseGrain=true
GrainFrequency=2500.0
GrainIntensity=0.1
GrainIntensity=0.03
GrainSaturation=0.0
GrainTwoPass=true
GrainBlend=1
GrainBlend=3
GrainTwoPassFactor=0.04
GrainMagnification1=13.25
GrainMagnification2=19.639999
@ -33,4 +33,12 @@ GrainPass1Magnification3=2.22
GrainPass2Magnification1=4.25
GrainPass2Magnification2=0.42
GrainPass2Magnification3=6.29
GrainPower=4.33
GrainPower=2.76
GammaModR=0.75
GammaModG=0.75
GammaModB=0.75
SaturationModR=1.2
SaturationModG=1.2
SaturationModB=1.2
GrainDarkMaskPower=2.82
GrainDarkMaskMultiplier=1.0

View file

@ -1,20 +1,20 @@
[ENBBLOOM.FX]
TECHNIQUE=0
BloomIntensityNight=1.33
BloomIntensityDay=0.65
BloomIntensityInteriorNight=1.21
BloomIntensityInteriorDay=0.94
BloomBumpNight=-0.07
BloomBumpDay=-0.13
BloomBumpInteriorNight=-0.04
BloomBumpInteriorDay=-0.08
BloomPowerNight=1.09
BloomIntensityNight=1.43
BloomIntensityDay=0.52
BloomIntensityInteriorNight=1.58
BloomIntensityInteriorDay=0.59
BloomBumpNight=-0.11
BloomBumpDay=-0.15
BloomBumpInteriorNight=-0.14
BloomBumpInteriorDay=-0.19
BloomPowerNight=1.03
BloomPowerDay=1.18
BloomPowerInteriorNight=1.01
BloomPowerInteriorDay=1.07
BloomSaturationNight=0.86
BloomSaturationDay=0.78
BloomSaturationInteriorNight=0.91
BloomSaturationInteriorDay=0.85
BloomPowerInteriorDay=1.14
BloomSaturationNight=0.64
BloomSaturationDay=0.6
BloomSaturationInteriorNight=0.75
BloomSaturationInteriorDay=0.72
_FixedResolutionX=1920
_FixedResolutionY=1080

View file

@ -1,14 +1,14 @@
[ENBEFFECT.FX]
TECHNIQUE=0
CompensateFactorNight=0.22
CompensateFactorNight=0.19
CompensateFactorDay=0.3
CompensateFactorInteriorNight=0.31
CompensateFactorInteriorDay=0.36
CompensatePowerNight=1.16
CompensateFactorInteriorNight=0.42
CompensateFactorInteriorDay=0.42
CompensatePowerNight=1.15
CompensatePowerDay=1.11
CompensatePowerInteriorNight=1.1
CompensatePowerInteriorDay=1.05
CompensateSaturationNight=0.86
CompensatePowerInteriorNight=1.08
CompensatePowerInteriorDay=1.03
CompensateSaturationNight=0.99
CompensateSaturationDay=0.87
CompensateSaturationInteriorNight=0.97
CompensateSaturationInteriorDay=0.99
@ -18,25 +18,25 @@ GradingMulBNight=1.45
GradingMulRDay=1.68
GradingMulGDay=1.47
GradingMulBDay=1.35
GradingMulRInteriorNight=1.46
GradingMulGInteriorNight=1.52
GradingMulBInteriorNight=1.55
GradingMulRInteriorDay=1.53
GradingMulGInteriorDay=1.51
GradingMulBInteriorDay=1.41
GradingPowRNight=1.02
GradingPowGNight=1.06
GradingPowBNight=1.03
GradingPowRDay=1.08
GradingMulRInteriorNight=1.26
GradingMulGInteriorNight=1.35
GradingMulBInteriorNight=1.42
GradingMulRInteriorDay=1.4
GradingMulGInteriorDay=1.39
GradingMulBInteriorDay=1.29
GradingPowRNight=1.08
GradingPowGNight=1.15
GradingPowBNight=1.08
GradingPowRDay=1.13
GradingPowGDay=1.06
GradingPowBDay=1.04
GradingPowRInteriorNight=1.08
GradingPowGInteriorNight=1.11
GradingPowBInteriorNight=1.06
GradingPowRInteriorDay=1.03
GradingPowGInteriorDay=1.06
GradingPowBInteriorDay=1.0
GradingColRNight=-0.59
GradingPowRInteriorNight=1.13
GradingPowGInteriorNight=1.16
GradingPowBInteriorNight=1.11
GradingPowRInteriorDay=1.08
GradingPowGInteriorDay=1.11
GradingPowBInteriorDay=1.05
GradingColRNight=-0.81
GradingColGNight=-0.26
GradingColBNight=-0.73
GradingColRDay=-0.62
@ -48,18 +48,18 @@ GradingColBInteriorNight=-0.62
GradingColRInteriorDay=-0.22
GradingColGInteriorDay=-0.21
GradingColBInteriorDay=-0.33
GradingColFactorNight=-0.2
GradingColFactorNight=-0.21
GradingColFactorDay=-0.17
GradingColFactorInteriorNight=-0.08
GradingColFactorInteriorDay=-0.12
DarkRadiusNight=0.0
DarkRadiusDay=0.0
DarkRadiusInteriorNight=0.0
DarkRadiusInteriorDay=0.0
DarkCurveNight=1.45
GradingColFactorInteriorNight=-0.03
GradingColFactorInteriorDay=-0.04
DarkRadiusNight=0.27
DarkRadiusDay=0.14
DarkRadiusInteriorNight=0.33
DarkRadiusInteriorDay=0.24
DarkCurveNight=1.66
DarkCurveDay=1.92
DarkCurveInteriorNight=1.35
DarkCurveInteriorDay=1.67
DarkCurveInteriorNight=1.72
DarkCurveInteriorDay=1.82
DarkBumpNight=0.66
DarkBumpDay=0.55
DarkBumpInteriorNight=0.82
@ -69,12 +69,12 @@ BoxSoften=0.0
BoxAlpha=1.0
AdaptationMinNight=0.11
AdaptationMinDay=0.07
AdaptationMinInteriorNight=0.07
AdaptationMinInteriorDay=0.06
AdaptationMinInteriorNight=0.15
AdaptationMinInteriorDay=0.12
AdaptationMaxNight=1.19
AdaptationMaxDay=1.06
AdaptationMaxInteriorNight=0.9
AdaptationMaxInteriorDay=0.89
BloomSoften=false
AdaptationMaxInteriorNight=1.15
AdaptationMaxInteriorDay=1.03
BloomSoften=true
_FixedResolutionX=1920
_FixedResolutionY=1080

View file

@ -4,7 +4,7 @@ DoFPowNight=2.02
DoFPowDay=2.2
DoFPowInteriorNight=3.46
DoFPowInteriorDay=3.69
DoFDebug=false
DoFDebug=0
DoFMultNight=319.23999
DoFMultDay=295.160004
DoFMultInteriorNight=281.079987
@ -46,14 +46,14 @@ DoFFixedUnfocusedBlendNight=1.0
DoFFixedUnfocusedBlendDay=1.0
DoFFixedUnfocusedBlendInteriorNight=1.0
DoFFixedUnfocusedBlendInteriorDay=1.0
DoFTwoPass=false
DoFTwoPass=true
EdgeDisable=true
EdgeView=false
EdgeFadePower=1.6
EdgeFadeMultiplier=20.0
EdgePower=1.5
EdgeMultiplier=20.0
DoFDisable=false
DoFDisable=true
DoFSmoothing=false
DoFCutoff=true
SSAOEnable=true
@ -62,17 +62,17 @@ SSAONormalOffset1=0.0
SSAONormalOffset2=0.01
SSAONormalOffset3=0.01
SSAONormalOffset4=0.0
SSAORadius=8.0
SSAONoise=0.5
SSAORadius=128.0
SSAONoise=1.0
SSAONoiseSize=1.0
SSAOFade=0.5
SSAOBump=0.0
SSAOMult=1.0
SSAOPower=5.0
SSAOBlend=0.7
SSAOPower=4.0
SSAOBlend=0.6
SSAOBlurEnable=true
SSAOFadePower=1.2
SSAOFadeMultiplier=200.0
SSAOFadePower=1.25
SSAOFadeMultiplier=400.0
_FixedResolutionX=1920
_FixedResolutionY=1080
SSAOFalloff=0.01

View file

@ -4,7 +4,7 @@
Part of MariENB, the personal ENB of Marisa.
Released under the WTFPL.
*/
/* fixed resolution */
/* fixed resolution, keeps blur filters at a consistent internal resolution */
int fixedx
<
string UIName = "_FixedResolutionX";
@ -22,42 +22,50 @@ float bloomintensity_n
<
string UIName = "BloomIntensityNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.25};
float bloomintensity_d
<
string UIName = "BloomIntensityDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.25};
float bloomintensity_in
<
string UIName = "BloomIntensityInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.25};
float bloomintensity_id
<
string UIName = "BloomIntensityInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.25};
/* bloom power */
/* bloom power (contrast) */
float bloompower_n
<
string UIName = "BloomPowerNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.4};
float bloompower_d
<
string UIName = "BloomPowerDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.4};
float bloompower_in
<
string UIName = "BloomPowerInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.4};
float bloompower_id
<
string UIName = "BloomPowerInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.4};
/* bloom saturation */
float bloomsaturation_n
@ -80,7 +88,7 @@ float bloomsaturation_id
string UIName = "BloomSaturationInteriorDay";
string UIWidget = "Spinner";
> = {0.3};
/* bloom offset */
/* bloom offset (negative values keep dark areas from muddying up) */
float bloombump_n
<
string UIName = "BloomBumpNight";

View file

@ -4,7 +4,7 @@
Part of MariENB, the personal ENB of Marisa.
Released under the WTFPL.
*/
/* fixed resolution */
/* fixed resolution, keeps blur filters at a consistent internal resolution */
int fixedx
<
string UIName = "_FixedResolutionX";
@ -23,42 +23,50 @@ float dkradius_n
<
string UIName = "DarkRadiusNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.40};
float dkradius_d
<
string UIName = "DarkRadiusDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.29};
float dkradius_in
<
string UIName = "DarkRadiusInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.50};
float dkradius_id
<
string UIName = "DarkRadiusInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.39};
/* falloff of darkening */
float dkcurve_n
<
string UIName = "DarkCurveNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.70};
float dkcurve_d
<
string UIName = "DarkCurveDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {2.30};
float dkcurve_in
<
string UIName = "DarkCurveInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.35};
float dkcurve_id
<
string UIName = "DarkCurveInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.67};
/* bump of darkening */
float dkbump_n
@ -81,7 +89,7 @@ float dkbump_id
string UIName = "DarkBumpInteriorDay";
string UIWidget = "Spinner";
> = {0.61};
/* Adaptation */
/* "adaptation" factors */
float amin_n
<
string UIName = "AdaptationMinNight";
@ -122,7 +130,7 @@ float amax_id
string UIName = "AdaptationMaxInteriorDay";
string UIWidget = "Spinner";
> = {0.91};
/* Shine/bloom compensation */
/* overshine/bloom compensation */
/* compensation factor */
float compfactor_n
<
@ -144,28 +152,32 @@ float compfactor_id
string UIName = "CompensateFactorInteriorDay";
string UIWidget = "Spinner";
> = {0.39};
/* compensation power */
/* compensation power (contrast) */
float comppow_n
<
string UIName = "CompensatePowerNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.08};
float comppow_d
<
string UIName = "CompensatePowerDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.11};
float comppow_in
<
string UIName = "CompensatePowerInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.05};
float comppow_id
<
string UIName = "CompensatePowerInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.14};
/* compensation saturation */
/* compensation saturation (higher values desaturate highlights) */
float compsat_n
<
string UIName = "CompensateSaturationNight";
@ -187,7 +199,7 @@ float compsat_id
string UIWidget = "Spinner";
> = {0.74};
/* Color grading */
/* miscellaneous color grading parameters */
/* color component multipliers */
float grademul_r_n
<
string UIName = "GradingMulRNight";
@ -248,66 +260,80 @@ float grademul_b_id
string UIName = "GradingMulBInteriorDay";
string UIWidget = "Spinner";
> = {1.41};
/* color component contrasts */
float gradepow_r_n
<
string UIName = "GradingPowRNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.02};
float gradepow_g_n
<
string UIName = "GradingPowGNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.06};
float gradepow_b_n
<
string UIName = "GradingPowBNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.03};
float gradepow_r_d
<
string UIName = "GradingPowRDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.09};
float gradepow_g_d
<
string UIName = "GradingPowGDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.08};
float gradepow_b_d
<
string UIName = "GradingPowBDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.05};
float gradepow_r_in
<
string UIName = "GradingPowRInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.08};
float gradepow_g_in
<
string UIName = "GradingPowGInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.11};
float gradepow_b_in
<
string UIName = "GradingPowBInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.06};
float gradepow_r_id
<
string UIName = "GradingPowRInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.05};
float gradepow_g_id
<
string UIName = "GradingPowGInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.04};
float gradepow_b_id
<
string UIName = "GradingPowBInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.04};
/* colorization factors */
float gradecol_r_n
<
string UIName = "GradingColRNight";
@ -368,6 +394,7 @@ float gradecol_b_id
string UIName = "GradingColBInteriorDay";
string UIWidget = "Spinner";
> = {-0.85};
/* blend factor for colorization (negative values are quite fancy) */
float gradecolfact_n
<
string UIName = "GradingColFactorNight";
@ -394,8 +421,10 @@ float boxv
<
string UIName = "BoxVertical";
string UIWidget = "Spinner";
float UIMin = 0.0;
float UIMax = 1.0;
> = {0.90};
/* softening */
/* softening (0 = disable) */
float boxb
<
string UIName = "BoxSoften";
@ -407,7 +436,7 @@ float boxa
string UIName = "BoxAlpha";
string UIWidget = "Spinner";
> = {12.00};
/* soften bloom texture */
/* soften bloom texture (remove blocky artifacts from downscaled bloom) */
bool softbloom
<
string UIName = "BloomSoften";

View file

@ -14,6 +14,8 @@ VS_OUTPUT_POST VS_Pass( VS_INPUT_POST IN )
/* prepass */
float4 ReducePrepass( in float4 color, in float2 coord )
{
float3 bgamma = float3(bgammar,bgammag,bgammab);
float3 bsaturation = float3(bsaturationr,bsaturationg,bsaturationb);
color.rgb = pow(max(color.rgb,0.0),bgamma);
float4 dac;
dac.a = (color.r+color.g+color.b)/3.0;
@ -226,7 +228,17 @@ float4 PS_Grain( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
:(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);
{
float bn = 1.0-saturate((res.r+res.g+res.b)/3.0);
bn = pow(bn,bnp);
float3 nn = saturate(nt*bn);
res.r = (res.r>0.5)?(2.0*res.r*(0.5+(nn.r*ni)))
:(1.0-2.0*(1.0-res.r)*(1.0-((0.5+(nn.r*ni)))));
res.g = (res.g>0.5)?(2.0*res.g*(0.5+(nn.g*ni)))
:(1.0-2.0*(1.0-res.g)*(1.0-((0.5+(nn.g*ni)))));
res.b = (res.b>0.5)?(2.0*res.b*(0.5+(nn.b*ni)))
:(1.0-2.0*(1.0-res.b)*(1.0-((0.5+(nn.b*ni)))));
}
else
res.rgb = lerp(res.rgb,nt,ni);
return res;

View file

@ -10,8 +10,8 @@
*/
static const float checkers[4] =
{
1,0,
0,1
1.0,0.0,
0.0,1.0
};
#define d(x) x/4.0
static const float ordered2[4] =

View file

@ -4,31 +4,43 @@
Part of MariENB, the personal ENB of Marisa.
Released under the WTFPL.
*/
/* film grain */
bool ne
<
string UIName = "UseGrain";
string UIWidget = "Checkbox";
> = {false};
/* speed of grain */
float nf
<
string UIName = "GrainFrequency";
string UIWidget = "Spinner";
> = {0.25};
/* intensity of grain */
float ni
<
string UIName = "GrainIntensity";
string UIWidget = "Spinner";
> = {0.15};
/* saturation of grain */
float ns
<
string UIName = "GrainSaturation";
string UIWidget = "Spinner";
> = {0.0};
/* use two-pass grain (double the texture fetches, but looks less uniform) */
bool np
<
string UIName = "GrainTwoPass";
string UIWidget = "Checkbox";
> = {false};
/*
blending mode for grain:
0 -> normal
1 -> add
2 -> overlay
3 -> "dark mask", a personal invention
*/
int nb
<
string UIName = "GrainBlend";
@ -36,11 +48,20 @@ int nb
int UIMin = 0;
int UIMax = 3;
> = {0};
/* dark mask blend mode contrast for mask image */
float bnp
<
string UIName = "GrainDarkMaskPower";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* two-pass distortion factor (0 = look just like one-pass grain) */
float nk
<
string UIName = "GrainTwoPassFactor";
string UIWidget = "Spinner";
> = {0.04};
/* zoom factors for each component of each noise texture */
float nm1
<
string UIName = "GrainMagnification1";
@ -86,26 +107,32 @@ float nm23
string UIName = "GrainPass2Magnification3";
string UIWidget = "Spinner";
> = {6.29};
/* contrast of grain */
float nj
<
string UIName = "GrainPower";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {4.33};
/* use curvature + chromatic aberration filter */
bool usecurve
<
string UIName = "UseCurve";
string UIWidget = "Checkbox";
> = {false};
/* this is a stupid filter and you should feel bad for using it */
float chromaab
<
string UIName = "CurveChromaAberration";
string UIWidget = "Spinner";
> = {0.07};
/* zoom factor for curve lens (50.0 = no zoom) */
float lenszoom
<
string UIName = "CurveLensZoom";
string UIWidget = "Spinner";
> = {50.25};
/* distortion factors for lens */
float lensdist
<
string UIName = "CurveLensDistortion";
@ -116,16 +143,24 @@ float lensdistc
string UIName = "CurveLensDistortionCubic";
string UIWidget = "Spinner";
> = {0.0};
/* clamp borders of lens with black */
bool lensclamp
<
string UIName = "CurveLensClamp";
string UIWidget = "Checkbox";
> = {true};
/* BlockGFX filter, I'm proud of it */
bool useblock
<
string UIName = "UseBlockGFX";
string UIWidget = "Checkbox";
> = {false};
/*
emulated resolution:
0 or 1 : real resolution
<1 and >0 : multiple of real resolution (e.g.: 0.5 is half resolution)
>1 : this resolution (e.g.: 320x200 is good ol' Mode 13h)
*/
float bresx
<
string UIName = "EmulatedResX";
@ -138,6 +173,17 @@ float bresy
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.5};
/*
palette type:
-1 : disable
0 : CGA (320x200 4-color, or 640x200 monochrome)
1 : EGA (320x200, 16 colors)
2 : RGB2 (64-color quarter VGA palette, used in AOS)
3 : RGB323 (8-bit RGB, I don't think this was a real thing)
4 : RGB4 (4bpc, I also don't think this was ever used in real hardware)
5 : RGB565 (ol' 16-bit "true color")
6 : RGB6 (typical screens incapable of 8bpc)
*/
int paltype
<
string UIName = "PaletteType";
@ -145,6 +191,16 @@ int paltype
int UIMin = -1;
int UIMax = 6;
> = {2};
/*
CGA palette to use:
0 : black, white.
1 : black, cyan, magenta, white. low contrast
2 : black, cyan, magenta, white. high contrast
3 : black, green, red, brown. low contrast
4 : black, green, red, brown. high contrast
5 : black, cyan, red, white. low contrast
6 : black, cyan, red, white. high contrast
*/
int cgapal
<
string UIName = "CGAPalette";
@ -152,6 +208,11 @@ int cgapal
int UIMin = 0;
int UIMax = 6;
> = {1};
/*
EGA palette to use:
0 : Standard EGA
1 : AOS EGA (it's designed for text, but looks well on images too)
*/
int egapal
<
string UIName = "EGAPalette";
@ -159,6 +220,15 @@ int egapal
int UIMin = 0;
int UIMax = 1;
> = {0};
/*
Dithering mode:
-1 : No dithering, just raw banding
0 : 2x2 checkerboard dithering, looks like ass
1 : 2x2 ordered dithering
2 : 3x3 ordered dithering
3 : 4x4 ordered dithering
4 : 8x8 ordered dithering
*/
int dither
<
string UIName = "DitherMode";
@ -166,25 +236,51 @@ int dither
int UIMin = -1;
int UIMax = 4;
> = {4};
float bgamma
/* gamma modifiers for base color, lower values raise midtones and viceversa */
float bgammar
<
string UIName = "GammaMod";
string UIName = "GammaModR";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.65};
float bgammag
<
string UIName = "GammaModG";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.65};
float bgammab
<
string UIName = "GammaModB";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.65};
/* base brightness bump for the dither grid */
float bdbump
<
string UIName = "DitherBump";
string UIWidget = "Spinner";
> = {-0.1};
/* range multiplier for the dither grid */
float bdmult
<
string UIName = "DitherMultiplier";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.3};
float bsaturation
/* saturation modifiers for base color, helps with limited palettes */
float bsaturationr
<
string UIName = "SaturationMod";
string UIName = "SaturationModR";
string UIWidget = "Spinner";
> = {1.0};
> = {1.0};
float bsaturationg
<
string UIName = "SaturationModG";
string UIWidget = "Spinner";
> = {1.0};
float bsaturationb
<
string UIName = "SaturationModB";
string UIWidget = "Spinner";
> = {1.0};

View file

@ -92,8 +92,9 @@ float4 PS_Edge( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
/* Crappy 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);
float2 bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
float2 ofs1 = float2(0,1.0/bresl.y);
float2 ofs2 = float2(1.0/bresl.x,0);
float dep1 = tex2D(SamplerDepth,coord+ofs1).x;
float dep2 = tex2D(SamplerDepth,coord+ofs2).x;
float3 p1 = float3(ofs1,dep1-dep);
@ -118,16 +119,16 @@ float4 PS_SSAO( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
float2 nc = coord*(bresl/256.0);
float2 bof = float2(1.0/bresl.x,1.0/bresl.y)*ssaoradius;
float3 rnormal = tex2D(SamplerNoise3,nc).xyz*2.0-1.0;
normal = normal+rnormal*ssaonoise;
normal = normalize(normal+rnormal*ssaonoise);
float occ = 0.0;
int i;
float ldepth = depthlinear(coord);
for ( i=0; i<16; i++ )
{
float3 sample = reflect(ssao_samples[i],normal);
float sampledepth = depthlinear(coord+i*sample.xy*bof);
float sampledepth = depthlinear(coord+sample.xy*bof);
float diff = sampledepth-ldepth;
if ( sampledepth > ldepth )
if ( ldepth < sampledepth )
occ += 1.0/(1.0+pow(diff,2));
}
float uocc = saturate(1.0-occ/16.0);
@ -335,8 +336,10 @@ float4 PS_DoF( VS_OUTPUT_POST IN, float2 vPos : VPOS, uniform int p ) : COLOR
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 )
if ( dofdebug == 1 )
return dfc;
else if ( dofdebug == 2 )
return tex2D(SamplerDepth,coord);
return res;
}
technique ReadFocus

View file

@ -4,7 +4,7 @@
Part of MariENB, the personal ENB of Marisa.
Released under the WTFPL.
*/
/* fixed resolution */
/* fixed resolution, keeps blur filters at a consistent internal resolution */
int fixedx
<
string UIName = "_FixedResolutionX";
@ -17,13 +17,13 @@ int fixedy
string UIWidget = "Spinner";
int UIMin = 0;
> = {0};
/* circle average focus */
/* circle (triangle, actually) average focus */
bool focuscircle
<
string UIName = "FocusCircleEnable";
string UIWidget = "Checkbox";
> = {false};
/* radius of the outmost circle */
/* radius of the focus point triangle */
float focusradius_n
<
string UIName = "FocusCircleRadiusNight";
@ -87,179 +87,210 @@ float focusmax_id
string UIWidget = "Spinner";
> = {1.0};
/* dof filter */
/* depth multiplier */
/* dof multiplier (makes unfocused depths more blurry) */
float dofmult_n
<
string UIName = "DoFMultNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofmult_d
<
string UIName = "DoFMultDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofmult_in
<
string UIName = "DoFMultInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofmult_id
<
string UIName = "DoFMultInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* depth power */
/* dof power (falloff, kinda) */
float dofpow_n
<
string UIName = "DoFPowNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofpow_d
<
string UIName = "DoFPowDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofpow_in
<
string UIName = "DoFPowInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float dofpow_id
<
string UIName = "DoFPowInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* fixed depth multiplier */
/* fixed focused depth factors */
float doffixedfocusmult_n
<
string UIName = "DoFFixedFocusedMultNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocusmult_d
<
string UIName = "DoFFixedFocusedMultDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocusmult_in
<
string UIName = "DoFFixedFocusedMultInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocusmult_id
<
string UIName = "DoFFixedFocusedMultInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* fixed depth power */
float doffixedfocuspow_n
<
string UIName = "DoFFixedFocusedPowNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocuspow_d
<
string UIName = "DoFFixedFocusedPowDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocuspow_in
<
string UIName = "DoFFixedFocusedPowInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedfocuspow_id
<
string UIName = "DoFFixedFocusedPowInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* fixed depth blending */
float doffixedfocusblend_n
<
string UIName = "DoFFixedFocusedBlendNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedfocusblend_d
<
string UIName = "DoFFixedFocusedBlendDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedfocusblend_in
<
string UIName = "DoFFixedFocusedBlendInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedfocusblend_id
<
string UIName = "DoFFixedFocusedBlendInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
/* fixed unfocused depth factors */
float doffixedunfocusmult_n
<
string UIName = "DoFFixedUnfocusedMultNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocusmult_d
<
string UIName = "DoFFixedUnfocusedMultDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocusmult_in
<
string UIName = "DoFFixedUnfocusedMultInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocusmult_id
<
string UIName = "DoFFixedUnfocusedMultInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* fixed depth power */
float doffixedunfocuspow_n
<
string UIName = "DoFFixedUnfocusedPowNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocuspow_d
<
string UIName = "DoFFixedUnfocusedPowDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocuspow_in
<
string UIName = "DoFFixedUnfocusedPowInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float doffixedunfocuspow_id
<
string UIName = "DoFFixedUnfocusedPowInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
/* fixed depth blending */
float doffixedunfocusblend_n
<
string UIName = "DoFFixedUnfocusedBlendNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedunfocusblend_d
<
string UIName = "DoFFixedUnfocusedBlendDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedunfocusblend_in
<
string UIName = "DoFFixedUnfocusedBlendInteriorNight";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
float doffixedunfocusblend_id
<
string UIName = "DoFFixedUnfocusedBlendInteriorDay";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {0.0};
/* display dof factors per pixel */
bool dofdebug
/* display dof factors per pixel, or just the whole depth buffer */
int dofdebug
<
string UIName = "DoFDebug";
string UIWidget = "Checkbox";
> = {false};
int UIMin = 0;
int UIMax = 2;
> = 0;
/* two-pass blur, makes you shortsighted */
bool doftwopass
<
@ -278,7 +309,7 @@ bool dofsmooth
string UIName = "DoFSmoothing";
string UIWidget = "Checkbox";
> = {true};
/* enable depth of field sky cutoff (keeps sky sharp, but may look awful) */
/* enable depth of field sky cutoff (keeps sky sharp, but may look weird) */
bool dofcutoff
<
string UIName = "DoFCutoff";
@ -301,21 +332,25 @@ float edgefadepow
<
string UIName = "EdgeFadePower";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.6};
float edgefademult
<
string UIName = "EdgeFadeMultiplier";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {16.0};
float edgepow
<
string UIName = "EdgePower";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.5};
float edgemult
<
string UIName = "EdgeMultiplier";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {32.0};
/* ssao filter */
bool ssaoenable
@ -330,26 +365,6 @@ int ssaodebug
int UIMin = 0;
int UIMax = 2;
> = 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";
@ -364,16 +379,19 @@ float ssaofadepow
<
string UIName = "SSAOFadePower";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.5};
float ssaofademult
<
string UIName = "SSAOFadeMultiplier";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {15.0};
float ssaomult
<
string UIName = "SSAOMultiplier";
string UIWidget = "Spinner";
float UIMin = 0.0;
> = {1.0};
float ssaopow
<