MariENB Skyrim 2.1.3
This commit is contained in:
parent
c3ffc7530b
commit
6d0120e96a
15 changed files with 568 additions and 147 deletions
|
|
@ -7,7 +7,7 @@ UseOriginalPostProcessing=false
|
|||
UseOriginalObjectsProcessing=false
|
||||
EnableBloom=true
|
||||
EnableAdaptation=true
|
||||
EnableAmbientOcclusion=false
|
||||
EnableAmbientOcclusion=true
|
||||
EnableDepthOfField=true
|
||||
EnableDetailedShadow=true
|
||||
EnableSunRays=true
|
||||
|
|
@ -70,8 +70,8 @@ SamplingRange=0.15
|
|||
FadeFogRangeDay=0.0
|
||||
FadeFogRangeNight=3.0
|
||||
FadeFogRangeInterior=0.0
|
||||
SizeScale=0.25
|
||||
SourceTexturesScale=0.25
|
||||
SizeScale=0.5
|
||||
SourceTexturesScale=0.5
|
||||
FilterQuality=1
|
||||
AOAmount=1.1
|
||||
ILAmount=0.31
|
||||
|
|
@ -800,8 +800,8 @@ LightingInfluenceDusk=1.21
|
|||
Quality=1
|
||||
FilterQuality=1
|
||||
FilterBluriness=1.0
|
||||
SizeScale=0.25
|
||||
SourceTexturesScale=0.25
|
||||
SizeScale=0.5
|
||||
SourceTexturesScale=0.5
|
||||
Amount=0.35
|
||||
Power=1.06
|
||||
GlosinessMin=0.1
|
||||
|
|
|
|||
|
|
@ -38,3 +38,29 @@ Sharp Sampling Range=0.35
|
|||
Sharpening Amount=2.0
|
||||
Enable Shift=true
|
||||
Shift Sampling Range=0.6
|
||||
------Sharpening------------=false
|
||||
Show Original=false
|
||||
Show Edges=false
|
||||
Use Edge Smoothing=true
|
||||
Edge Smoothing Intensity=0.42
|
||||
Depth Sharpening: Far Depth=2500.0
|
||||
Sharpening HL Limiter Exterior=0.073
|
||||
Sharpening HL Limiter Interior=0.047
|
||||
Use Luma Sharpen=true
|
||||
Blur Sigma Exterior=0.525
|
||||
Blur Sigma Interior=0.525
|
||||
Sharpening Strength Exterior=2.45
|
||||
Sharpening Strength Interior=2.375
|
||||
Sharpening Threshold Exterior=0.0
|
||||
Sharpening Threshold Interior=0.0
|
||||
------Letterbox-------------=false
|
||||
Enable Letterbox=false
|
||||
Letterbox Size (%)=4.0
|
||||
------Noise-----------------=true
|
||||
Enable Grain=false
|
||||
Grain Motion=0.004
|
||||
Grain Saturation=1.0
|
||||
Grain Intensity=0.004
|
||||
Grain Saturation Shadow=1.0
|
||||
Grain Intensity Shadow=0.001
|
||||
Shadow Noise Curve=0.095
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
[ENBBLOOM.FX]
|
||||
TECHNIQUE=0
|
||||
Bloom Intensity Night=0.6
|
||||
Bloom Intensity Day=0.66
|
||||
Bloom Intensity Interior Night=0.87
|
||||
Bloom Intensity Interior Day=0.71
|
||||
Bloom Intensity Night=0.61
|
||||
Bloom Intensity Day=0.52
|
||||
Bloom Intensity Interior Night=0.71
|
||||
Bloom Intensity Interior Day=0.62
|
||||
Bloom Contrast Night=1.02
|
||||
Bloom Contrast Day=1.0
|
||||
Bloom Contrast Interior Night=0.96
|
||||
|
|
@ -12,10 +12,10 @@ Bloom Saturation Night=1.08
|
|||
Bloom Saturation Day=1.03
|
||||
Bloom Saturation Interior Night=1.19
|
||||
Bloom Saturation Interior Day=1.19
|
||||
Bloom Offset Night=-0.07
|
||||
Bloom Offset Day=-0.08
|
||||
Bloom Offset Interior Night=-0.07
|
||||
Bloom Offset Interior Day=-0.03
|
||||
Bloom Offset Night=-0.26
|
||||
Bloom Offset Day=-0.34
|
||||
Bloom Offset Interior Night=-0.23
|
||||
Bloom Offset Interior Day=-0.27
|
||||
Bloom Intensity Cap Night=50.0
|
||||
Bloom Intensity Cap Day=50.0
|
||||
Bloom Intensity Cap Interior Night=50.0
|
||||
|
|
@ -61,8 +61,8 @@ Anamorphic Bloom Blue Shift Intensity Day=1.45
|
|||
Anamorphic Bloom Blue Shift Interior Night=1.98
|
||||
Anamorphic Bloom Blue Shift Interior Day=1.84
|
||||
Anamorphic Bloom Contrast Night=1.19
|
||||
Anamorphic Bloom Contrast Day=1.22
|
||||
Anamorphic Bloom Contrast Interior Night=1.0
|
||||
Anamorphic Bloom Contrast Day=1.27
|
||||
Anamorphic Bloom Contrast Interior Night=1.11
|
||||
Anamorphic Bloom Contrast Interior Day=1.17
|
||||
Anamorphic Bloom Radius Multiplier=4.0
|
||||
Bloom Pass 1 Blend=0.97
|
||||
|
|
@ -85,3 +85,74 @@ Dirt Base Blend=0.0
|
|||
Dirt Texture Preserve Aspect=true
|
||||
Dirt Contrast=1.05
|
||||
Dirt Factor=0.95
|
||||
------Options & Settings----=false
|
||||
Bloom Quality=0.0
|
||||
------Depth-----------------=false
|
||||
Far Depth=50.0
|
||||
Exterior: Min Depth=0.67
|
||||
Interior: Min Depth=0.67
|
||||
------Tinting---------------=false
|
||||
Tinting: Enable Bloom Tinting=true
|
||||
Tinting: Tint Method=1.0
|
||||
Tinting: Day Tint RGB Color=0.6, 0.4, 1
|
||||
Tinting: Day Tint Level=0.59
|
||||
Tinting: (method 3) Day Tint Mix=0.47
|
||||
Tinting: Night Tint RGB Color=0.6, 0.4, 1
|
||||
Tinting: Night Tint Level=0.59
|
||||
Tinting: (method 3) Night Tint Mix=0.47
|
||||
Tinting: Interior Tint RGB Color=0.6, 0.4, 1
|
||||
Tinting: Interior Tint Level=0.44
|
||||
Tinting: (method 3) Interior Tint Mix=0.47
|
||||
------Bloom Day-------------=false
|
||||
Day Bloom: Black Level=0.025
|
||||
Day Bloom: Gamma Curve=1.0
|
||||
Day Bloom: White Level=0.46
|
||||
Day Bloom: Black Cutoff=0.0
|
||||
Day Bloom: White Cutoff=0.135
|
||||
Day Bloom: Saturation=1.0
|
||||
Day Bloom: Sigma (Blur width)=24.0
|
||||
Day Bloom: X Intensity=1.0
|
||||
Day Bloom: X+Y Intensity=1.0
|
||||
------Bloom Night-----------=false
|
||||
Night Bloom: Black Level=0.025
|
||||
Night Bloom: Gamma Curve=1.0
|
||||
Night Bloom: White Level=0.45
|
||||
Night Bloom: Black Cutoff=0.0
|
||||
Night Bloom: White Cutoff=0.165
|
||||
Night Bloom: Saturation=1.0
|
||||
Night Bloom: Sigma (Blur width)=24.0
|
||||
Night Bloom: X Intensity=1.0
|
||||
Night Bloom: X+Y Intensity=1.0
|
||||
------Bloom Interior--------=false
|
||||
Interior Bloom: Black Level=0.025
|
||||
Interior Bloom: Gamma Curve=1.0
|
||||
Interior Bloom: White Level=0.455
|
||||
Interior Bloom: Black Cutoff=0.0
|
||||
Interior Bloom: White Cutoff=0.165
|
||||
Interior Bloom: Saturation=1.0
|
||||
Interior Bloom: Sigma (Blur width)=24.0
|
||||
Interior Bloom: X Intensity=1.0
|
||||
Interior Bloom: X+Y Intensity=1.0
|
||||
------Texture Selection-----=false
|
||||
Enable Tex 1: 512x512=false
|
||||
Enable Tex 2: 256x256=true
|
||||
Enable Tex 3: 128x128=true
|
||||
Enable Tex 4: 64x64=true
|
||||
Enable Tex 5: 32x32=true
|
||||
Enable Tex 6: 16x16=true
|
||||
Enable Tex 7: 8x8=true
|
||||
------Texture Sample Range--=false
|
||||
Tex 1: Sample Range=0.5
|
||||
Tex 2: Sample Range=0.5
|
||||
Tex 3: Sample Range=0.5
|
||||
Tex 4: Sample Range=0.25
|
||||
Tex 5: Sample Range=0.25
|
||||
Tex 6: Sample Range=0.25
|
||||
Tex 7: Sample Range=0.25
|
||||
------Noise-----------------=false
|
||||
Noise Motion=0.004
|
||||
Noise Saturation=1.0
|
||||
Noise Intensity Exterior=0.003
|
||||
Noise Intensity Interior=0.002
|
||||
Bloom Blur Radius X=1.0
|
||||
Bloom Blur Radius Y=1.0
|
||||
|
|
|
|||
|
|
@ -150,3 +150,156 @@ Display Bloom=false
|
|||
Enable Vanilla Imagespace=true
|
||||
Vanilla Vibrance Blend=1.0
|
||||
Vanilla Contrast Blend=1.0
|
||||
Enable Spell Special Effects=true
|
||||
Show Bloom Output=false
|
||||
Bloom Filter Sample Range=0.5
|
||||
ENB Adaptation Curve=7.0
|
||||
Skyrim Adaptation Min=5.0
|
||||
Skyrim Adaptation Max=5.0
|
||||
Skyrim Bloom Amount Day=0.0
|
||||
Skyrim Bloom Amount Night=0.0
|
||||
Skyrim Bloom Amount Interior=0.0
|
||||
------Gray Level Controls---=false
|
||||
Day: Gray Black In=0.006
|
||||
Day: Gray Gamma In=1.01
|
||||
Day: Gray White In=1.0
|
||||
Day: Gray Black Out=0.016
|
||||
Day: Gray Black Out Min=0.02
|
||||
Day: Gray White Out=1.0
|
||||
Night: Gray Black In=0.004
|
||||
Night: Gray Gamma In=1.01
|
||||
Night: Gray White In=1.0
|
||||
Night: Gray Black Out=0.035
|
||||
Night: Gray Black Out Min=0.014
|
||||
Night: Gray White Out=1.0
|
||||
Interior: Gray Black In=0.007
|
||||
Interior: Gray Gamma In=1.01
|
||||
Interior: Gray White In=1.0
|
||||
Interior: Gray Black Out=0.065
|
||||
Interior: Gray Black Out Min=0.012
|
||||
Interior: Gray White Out=1.0
|
||||
------RGB Level Controls----=false
|
||||
Day: RGB Black In=0, 0, 0
|
||||
Day: Red Gamma In=1.025
|
||||
Day: Green Gamma In=1.06
|
||||
Day: Blue Gamma In=1.09
|
||||
Day: RGB White In=1, 1, 1
|
||||
Day: RGB Black Out=0, 0, 0
|
||||
Day: RGB White Out=1, 0.98, 1
|
||||
Night: RGB Black In=0, 0, 0
|
||||
Night: Red Gamma In=1.025
|
||||
Night: Green Gamma In=1.06
|
||||
Night: Blue Gamma In=1.09
|
||||
Night: RGB White In=1, 1, 1
|
||||
Night: RGB Black Out=0, 0, 0
|
||||
Night: RGB White Out=1, 0.98, 1
|
||||
Interior: RGB Black In=0, 0, 0
|
||||
Interior: Red Gamma In=1.025
|
||||
Interior: Green Gamma In=1.06
|
||||
Interior: Blue Gamma In=1.09
|
||||
Interior: RGB White In=1, 1, 1
|
||||
Interior: RGB Black Out=0, 0, 0
|
||||
Interior: RGB White Out=1, 0.98, 1
|
||||
------Tonemapping (Filmic)--=false
|
||||
Tonemap Day: Shoulder Strength=0.59
|
||||
Tonemap Day: Linear Strength=0.815
|
||||
Tonemap Day: Linear Angle=0.35
|
||||
Tonemap Day: Toe Strength=0.705
|
||||
Tonemap Day: Toe Numerator=0.083
|
||||
Tonemap Day: Toe Denominator=0.365
|
||||
Tonemap Day: White Lower Limit=0.012
|
||||
Tonemap Day: White Upper Limit=0.365
|
||||
Tonemap Night: Shoulder Strength=0.59
|
||||
Tonemap Night: Linear Strength=0.815
|
||||
Tonemap Night: Linear Angle=0.35
|
||||
Tonemap Night: Toe Strength=0.965
|
||||
Tonemap Night: Toe Numerator=0.083
|
||||
Tonemap Night: Toe Denominator=0.365
|
||||
Tonemap Night: White Lower Limit=0.012
|
||||
Tonemap Night: White Upper Limit=0.365
|
||||
Tonemap Interior: Shoulder Strength=0.71
|
||||
Tonemap Interior: Linear Strength=0.815
|
||||
Tonemap Interior: Linear Angle=0.35
|
||||
Tonemap Interior: Toe Strength=0.72
|
||||
Tonemap Interior: Toe Numerator=0.083
|
||||
Tonemap Interior: Toe Denominator=0.365
|
||||
Tonemap Interior: White Lower Limit=0.012
|
||||
Tonemap Interior: White Upper Limit=0.365
|
||||
Adaptation Ext: Lower White Point=1.875
|
||||
Adaptation Ext: Upper White Point=3.15
|
||||
Adaptation Int: Lower White Point=1.875
|
||||
Adaptation Int: Upper White Point=3.2
|
||||
------Channel Mixer---------=false
|
||||
Channel Mixer Red Day=1, 0, 0
|
||||
Channel Mixer Green Day=0, 1, 0
|
||||
Channel Mixer Blue Day=0, 0, 1
|
||||
Channel Mixer Red Night=1, 0, 0
|
||||
Channel Mixer Green Night=0, 1, 0
|
||||
Channel Mixer Blue Night=0, 0, 1
|
||||
Channel Mixer Red Interior=1, 0, 0
|
||||
Channel Mixer Green Interior=0, 1, 0
|
||||
Channel Mixer Blue Interior=0, 0, 1
|
||||
------Color Filter----------=false
|
||||
Color Filter: Luma=0.212, 0.714, 0.0706
|
||||
Color Filter: Hue Middle=0.0
|
||||
Color Filter: Hue Range=0.15
|
||||
Color Filter: Saturation Limit=1.0
|
||||
Color Filter: Effect Strength=0.0
|
||||
------Highlights & Shadows--=false
|
||||
Day: Highlights=0.334
|
||||
Day: Shadows=0.02
|
||||
Night: Highlights=0.334
|
||||
Night: Shadows=0.05
|
||||
Interior: Highlights=0.334
|
||||
Interior: Shadows=0.02
|
||||
------After Effects---------=false
|
||||
AFX: Contrast Tweak Day=0.2
|
||||
AFX: Contrast Tweak Night=0.4
|
||||
AFX: Contrast Tweak Interior=0.3
|
||||
AFX: Brightness Tweak Day=0.1
|
||||
AFX: Brightness Tweak Night=0.0
|
||||
AFX: Brightness Tweak Interior=0.095
|
||||
AFX: Vibrance Tweak Day=1.1
|
||||
AFX: Vibrance Tweak Night=1.3
|
||||
AFX: Vibrance Tweak Interior=1.1
|
||||
AFX: Red Saturation Day=1.0
|
||||
AFX: Red Saturation Night=0.89
|
||||
AFX: Red Saturation Interior=0.89
|
||||
AFX: Green Saturation Day=0.9
|
||||
AFX: Green Saturation Night=0.88
|
||||
AFX: Green Saturation Interior=0.88
|
||||
AFX: Blue Saturation Day=1.0
|
||||
AFX: Blue Saturation Night=0.85
|
||||
AFX: Blue Saturation Interior=0.85
|
||||
------Ported SFX: Curves----=false
|
||||
Day Curves 12: Start Point=0.036
|
||||
Day Curves 12: Control Point 1=0.165
|
||||
Day Curves 12: Control Point 2=1.0
|
||||
Day Curves 12: End Point=1.0
|
||||
Day Curves 12: Contrast Amount=0.765
|
||||
Night Curves 12: Start Point=0.013
|
||||
Night Curves 12: Control Point 1=0.13
|
||||
Night Curves 12: Control Point 2=1.0
|
||||
Night Curves 12: End Point=1.0
|
||||
Night Curves 12: Contrast Amount=0.765
|
||||
Interior Curves 12: Start Point=0.025
|
||||
Interior Curves 12: Control Point 1=0.145
|
||||
Interior Curves 12: Control Point 2=1.0
|
||||
Interior Curves 12: End Point=1.0
|
||||
Interior Curves 12: Contrast Amount=0.765
|
||||
------Skyrim IS Limits------=false
|
||||
Skyrim IS: Max Saturation Ext=1.0
|
||||
Skyrim IS: Max Saturation Int=1.0
|
||||
Skyrim IS: Max Contrast Ext=1.365
|
||||
Skyrim IS: Max Contrast Int=1.395
|
||||
Skyrim IS: Max Brightness Ext=1.2
|
||||
Skyrim IS: Max Brightness Int=1.2
|
||||
Skyrim IS: Max Tint Amount Ext=0.8
|
||||
Skyrim IS: Max Tint Amount Int=0.8
|
||||
Skyrim IS: New Tint Strength Ext=0.8
|
||||
Skyrim IS: New Tint Strength Int=0.8
|
||||
Skyrim IS: New Tint Add Shadow Day=0.095
|
||||
Skyrim IS: New Tint Add Shadow Night=0.02
|
||||
Skyrim IS: New Tint Add Shadow Int=0.032
|
||||
Skyrim IS: New Tint Desaturate Ext=0.0
|
||||
Skyrim IS: New Tint Desaturate Int=0.0
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
[ENBEFFECTPREPASS.FX]
|
||||
TECHNIQUE=0
|
||||
TECHNIQUE=2
|
||||
Fixed Resolution Width=1920
|
||||
Fixed Resolution Height=1080
|
||||
Depth Cutoff=999998.0
|
||||
|
|
@ -48,10 +48,10 @@ DOF Intensity Night=475.899994
|
|||
DOF Intensity Day=424.299988
|
||||
DOF Intensity Interior Night=480.799988
|
||||
DOF Intensity Interior Day=432.299988
|
||||
DOF Contrast Night=3.16
|
||||
DOF Contrast Day=3.58
|
||||
DOF Contrast Interior Night=2.78
|
||||
DOF Contrast Interior Day=3.14
|
||||
DOF Contrast Night=3.32
|
||||
DOF Contrast Day=3.7
|
||||
DOF Contrast Interior Night=3.02
|
||||
DOF Contrast Interior Day=3.43
|
||||
DOF Shift Night=0.0
|
||||
DOF Shift Day=0.0
|
||||
DOF Shift Interior Night=0.0
|
||||
|
|
@ -95,10 +95,10 @@ DOF Bilateral Factor=5.0
|
|||
DOF Blur Radius=1.0
|
||||
DOF Relative to FOV=true
|
||||
Default FOV=75.0
|
||||
DOF Relative Factor Night=2.57
|
||||
DOF Relative Factor Day=2.79
|
||||
DOF Relative Factor Interior Night=2.54
|
||||
DOF Relative Factor Interior Day=2.61
|
||||
DOF Relative Factor Night=2.76
|
||||
DOF Relative Factor Day=2.9
|
||||
DOF Relative Factor Interior Night=2.65
|
||||
DOF Relative Factor Interior Day=2.73
|
||||
Debug Depth=false
|
||||
Debug Focus=false
|
||||
Enable Depth Edge Detect=false
|
||||
|
|
@ -132,7 +132,7 @@ Edgevision Fade Intensity Interior Day=600.0
|
|||
Edgevision Contrast=0.25
|
||||
Edgevision Intensity=8.0
|
||||
Edgevision Radius=1.0
|
||||
Enable SSAO=true
|
||||
Enable SSAO=false
|
||||
SSAO Radius=0.15
|
||||
SSAO Noise=0
|
||||
SSAO Fade Contrast Night=0.46
|
||||
|
|
@ -180,4 +180,31 @@ SSAO Blur Use Less Samples=true
|
|||
Bokeh Threshold=1.0
|
||||
Bokeh Blur Threshold=0.5
|
||||
Bokeh Size=8.0
|
||||
DOF Gather Blur Radius=10.0
|
||||
DOF Gather Blur Radius=12.0
|
||||
DES mode=0
|
||||
DES Level=0.0
|
||||
DES Blend Color=1, 0, 0
|
||||
DES Blend Factor=1.0
|
||||
MF mode=false
|
||||
Display AF Cursor=false
|
||||
AF posX=0.5
|
||||
AF posY=0.6
|
||||
AF Near Blur Curve=30.0
|
||||
AF Far Blur Curve=2.4
|
||||
MF Far Blur Plane(m)=10.0
|
||||
MF Focused Plane(m)=1.0
|
||||
Aperture Size(%)=0.35
|
||||
Aperture Deform=0.0
|
||||
Aperture Shape=5
|
||||
Aperture Ratio=1.19
|
||||
Aperture Angle(°)=0
|
||||
Tilt Shift Axis(°)=0
|
||||
Tilt Shift Angle(°)=0.0
|
||||
Quality=3
|
||||
Bokeh Highlight=10.0
|
||||
Bokeh Bias=0.0
|
||||
Bokeh Bias Curve=1.0
|
||||
Guassian Radius=1.0
|
||||
Noise Amount=0.0
|
||||
Noise Curve=1.0
|
||||
DOF Minimum Blur=0.01
|
||||
|
|
|
|||
|
|
@ -1,2 +1,25 @@
|
|||
[ENBLENS.FX]
|
||||
TECHNIQUE=0
|
||||
Lens Reflect Position X=0.0
|
||||
Lens Reflect Position Y=0.0
|
||||
Lens Reflect Size=1.0
|
||||
Lens Reflect Intensity=0.35
|
||||
Flare IntensityL-N=0.7
|
||||
Flare IntensityH-N=0.7
|
||||
Flare IntensityL-D=0.7
|
||||
Flare IntensityH-D=0.7
|
||||
Flare IntensityL-I=0.7
|
||||
Flare IntensityH-I=0.7
|
||||
Flare Lighting ThresholdL-N=0.2
|
||||
Flare Lighting ThresholdH-N=0.27
|
||||
Flare Lighting ThresholdL-D=0.45
|
||||
Flare Lighting ThresholdH-D=0.45
|
||||
Flare Lighting ThresholdL-I=0.48
|
||||
Flare Lighting ThresholdH-I=0.52
|
||||
Flare Curve1=16.0
|
||||
Flare Curve2=16.0
|
||||
Flare Tint1=0.129, 0.216, 1
|
||||
Flare Tint2=0.129, 0.216, 1
|
||||
Flare Angle 1=135.0
|
||||
Flare Angle 2=45.0
|
||||
blur radii=12.0
|
||||
|
|
|
|||
|
|
@ -1,2 +1,20 @@
|
|||
[ENBSUNSPRITE.FX]
|
||||
TECHNIQUE=0
|
||||
Glare Intensity=0.9
|
||||
Glare Scale=0.8
|
||||
Glare Tint=0.973, 0.894, 0.486
|
||||
Moire Vib Frequency(Hz)=1.0
|
||||
Moire Vib Scale=0.3
|
||||
Moire Offset=0.1
|
||||
Rotation Modifier=100.0
|
||||
Blink Axis(°)=1
|
||||
Blink Frequency(Hz)=0.3
|
||||
Blink Speed=0.3
|
||||
Blink Starting Angle(°)=90
|
||||
Blink Ending Angle(°)=10
|
||||
Blink Angle Width=10.0
|
||||
Blink Intensity=4.0
|
||||
Spike Intensity=6.0
|
||||
Spike Frequency=2.0
|
||||
Spike Speed=0.4
|
||||
Spike Width=1.0
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ float4 PS_BloomTexture1(VS_OUTPUT_POST In) : COLOR
|
|||
float2 pp;
|
||||
[unroll] for ( i=-7; i<=7; i++ )
|
||||
{
|
||||
pp = coord+float2(i,0)*TempParameters.z*bloomradius;
|
||||
pp = coord+float2(i,0)*TempParameters.z*bloomradiusx;
|
||||
res += gauss8[abs(i)]*tex2D(SamplerBloom1,pp);
|
||||
sum += ((pp.x>=0)&&(pp.x<1))?gauss8[abs(i)]:0;
|
||||
}
|
||||
|
|
@ -81,7 +81,7 @@ float4 PS_BloomTexture2(VS_OUTPUT_POST In) : COLOR
|
|||
float2 pp;
|
||||
[unroll] for ( i=-7; i<=7; i++ )
|
||||
{
|
||||
pp = coord+float2(0,i)*TempParameters.z*bloomradius;
|
||||
pp = coord+float2(0,i)*TempParameters.z*bloomradiusy;
|
||||
res += gauss8[abs(i)]*tex2D(SamplerBloom1,pp);
|
||||
sum += ((pp.y>=0)&&(pp.y<1))?gauss8[abs(i)]:0;
|
||||
}
|
||||
|
|
@ -124,11 +124,11 @@ float4 PS_AnamPass(VS_OUTPUT_POST In) : COLOR
|
|||
int i;
|
||||
float sum = 0;
|
||||
float2 pp;
|
||||
[unroll] for ( i=-79; i<=79; i++ )
|
||||
[unroll] for ( i=-39; i<=39; i++ )
|
||||
{
|
||||
pp = coord+float2(i,0)*TempParameters.z*bloomradius*flen;
|
||||
res += gauss80[abs(i)]*tex2D(SamplerBloom1,pp);
|
||||
sum += ((pp.x>=0)&&(pp.x<1))?gauss80[abs(i)]:0;
|
||||
pp = coord+float2(i,0)*TempParameters.z*bloomradiusx*flen;
|
||||
res += gauss40[abs(i)]*tex2D(SamplerBloom1,pp);
|
||||
sum += ((pp.x>=0)&&(pp.x<1))?gauss40[abs(i)]:0;
|
||||
}
|
||||
res *= 1.0/sum;
|
||||
/* blue shift */
|
||||
|
|
@ -143,7 +143,7 @@ float4 PS_AnamPass(VS_OUTPUT_POST In) : COLOR
|
|||
float fbl = tod_ind(fbl);
|
||||
float fpw = tod_ind(fpw);
|
||||
res.rgb *= lerp(1.0,flu,lm);
|
||||
res.rgb = pow(res.rgb,fpw)*fbl;
|
||||
res.rgb = pow(max(0,res.rgb),fpw)*fbl;
|
||||
res.a = 1.0;
|
||||
return res;
|
||||
}
|
||||
|
|
@ -161,7 +161,6 @@ float4 PS_BloomPostPass(VS_OUTPUT_POST In) : COLOR
|
|||
res += bloommix7*tex2D(SamplerBloomC7,coord); // P5
|
||||
res += bloommix8*tex2D(SamplerBloomC8,coord); // P6
|
||||
res.rgb /= 6.0;
|
||||
if ( alfenable ) res.rgb *= 0.5;
|
||||
res.rgb = clamp(res.rgb,0,32768);
|
||||
res.a = 1.0;
|
||||
return res;
|
||||
|
|
@ -186,7 +185,6 @@ float4 PS_LensDirtPass(VS_OUTPUT_POST In) : COLOR
|
|||
mud += dirtmix7*tex2D(SamplerBloomC7,coord); // P5
|
||||
mud += dirtmix8*tex2D(SamplerBloomC8,coord); // P6
|
||||
mud.rgb /= 6.0;
|
||||
if ( alfenable ) mud.rgb *= 0.5;
|
||||
mud.rgb = clamp(mud.rgb,0,32768);
|
||||
float mudmax = luminance(mud.rgb);
|
||||
float mudn = max(mudmax/(1.0+mudmax),0.0);
|
||||
|
|
|
|||
|
|
@ -7,26 +7,33 @@
|
|||
/* mathematical constants */
|
||||
static const float pi = 3.1415926535898;
|
||||
/* gaussian blur matrices */
|
||||
/* radius: 3, std dev: 0.7014 */
|
||||
/*static const float gauss3[3] = {0.568780, 0.205851, 0.009759};*/
|
||||
/* radius: 4, std dev: 1.5 */
|
||||
/*static const float gauss4[4] =
|
||||
{
|
||||
0.270682, 0.216745, 0.111281, 0.036633
|
||||
};*/
|
||||
/* radius: 8, std dev: 3 */
|
||||
static const float gauss8[8] =
|
||||
{
|
||||
0.134598, 0.127325, 0.107778, 0.081638,
|
||||
0.055335, 0.033562, 0.018216, 0.008847
|
||||
};
|
||||
/* radius: 36, std dev: 32 */
|
||||
/*static const float gauss36[36] =
|
||||
/* radius: 40, std dev: 15 */
|
||||
static const float gauss40[40] =
|
||||
{
|
||||
0.017014, 0.017006, 0.016981, 0.016939, 0.016881, 0.016807,
|
||||
0.016717, 0.016612, 0.016490, 0.016354, 0.016203, 0.016038,
|
||||
0.015859, 0.015666, 0.015461, 0.015244, 0.015015, 0.014775,
|
||||
0.014524, 0.014264, 0.013995, 0.013718, 0.013433, 0.013141,
|
||||
0.012843, 0.012539, 0.012231, 0.011918, 0.011602, 0.011284,
|
||||
0.010964, 0.010642, 0.010319, 0.009997, 0.009675, 0.009355
|
||||
};*/
|
||||
0.026823, 0.026763, 0.026585, 0.026291,
|
||||
0.025886, 0.025373, 0.024760, 0.024055,
|
||||
0.023267, 0.022404, 0.021478, 0.020499,
|
||||
0.019477, 0.018425, 0.017352, 0.016269,
|
||||
0.015186, 0.014112, 0.013056, 0.012025,
|
||||
0.011027, 0.010067, 0.009149, 0.008279,
|
||||
0.007458, 0.006688, 0.005972, 0.005308,
|
||||
0.004697, 0.004139, 0.003630, 0.003170,
|
||||
0.002756, 0.002385, 0.002055, 0.001763,
|
||||
0.001506, 0.001280, 0.001084, 0.000913
|
||||
};
|
||||
/* radius: 80, std dev: 30 */
|
||||
static const float gauss80[80] =
|
||||
/*static const float gauss80[80] =
|
||||
{
|
||||
0.013406, 0.013398, 0.013376, 0.013339, 0.013287, 0.013221,
|
||||
0.013140, 0.013046, 0.012938, 0.012816, 0.012681, 0.012534,
|
||||
|
|
@ -42,7 +49,7 @@ static const float gauss80[80] =
|
|||
0.001192, 0.001107, 0.001027, 0.000952, 0.000881, 0.000815,
|
||||
0.000753, 0.000694, 0.000640, 0.000589, 0.000542, 0.000497,
|
||||
0.000456, 0.000418
|
||||
};
|
||||
};*/
|
||||
/* standard stuff */
|
||||
float4 ScreenSize;
|
||||
float4 TempParameters;
|
||||
|
|
|
|||
|
|
@ -120,9 +120,15 @@ float bloomcap_id
|
|||
> = {20.0};
|
||||
string str_bloomper = "Bloom Per-pass";
|
||||
/* bloom blur radius */
|
||||
float bloomradius
|
||||
float bloomradiusx
|
||||
<
|
||||
string UIName = "Bloom Blur Radius";
|
||||
string UIName = "Bloom Blur Radius X";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {1.0};
|
||||
float bloomradiusy
|
||||
<
|
||||
string UIName = "Bloom Blur Radius Y";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {1.0};
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ float3 GradingRGB( float3 res )
|
|||
float gradepow_b = tod_ind(gradepow_b);
|
||||
float3 grademul = float3(grademul_r,grademul_g,grademul_b);
|
||||
float3 gradepow = float3(gradepow_r,gradepow_g,gradepow_b);
|
||||
return pow(res,gradepow)*grademul;
|
||||
return pow(max(0,res),gradepow)*grademul;
|
||||
}
|
||||
float3 GradingColorize( float3 res )
|
||||
{
|
||||
|
|
@ -147,8 +147,8 @@ float3 GradingHSV( float3 res )
|
|||
float gradevalmul = tod_ind(gradevalmul);
|
||||
float gradevalpow = tod_ind(gradevalpow);
|
||||
float3 hsv = rgb2hsv(res);
|
||||
hsv.y = clamp(pow(hsv.y,gradesatpow)*gradesatmul,0.0,1.0);
|
||||
hsv.z = pow(hsv.z,gradevalpow)*gradevalmul;
|
||||
hsv.y = clamp(pow(max(0,hsv.y),gradesatpow)*gradesatmul,0.0,1.0);
|
||||
hsv.z = pow(max(0,hsv.z),gradevalpow)*gradevalmul;
|
||||
return hsv2rgb(hsv);
|
||||
}
|
||||
/* game grading filters */
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ float4 ReducePrepass( in float4 col, in float2 coord )
|
|||
{
|
||||
float3 hsv = rgb2hsv(col);
|
||||
hsv.y = clamp(hsv.y*bsaturation,0.0,1.0);
|
||||
hsv.z = pow(hsv.z,bgamma);
|
||||
hsv.z = pow(max(0,hsv.z),bgamma);
|
||||
col.rgb = hsv2rgb(saturate(hsv));
|
||||
if ( dither == 0 )
|
||||
col += bdbump+checkers[int(coord.x%2)+2*int(coord.y%2)]*bdmult;
|
||||
|
|
@ -350,7 +350,7 @@ float4 PS_DotMatrix( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
moire patterns when using the default size of 2x2.
|
||||
*/
|
||||
float4 dots = tex2D(SamplerDots,coord*bresl)*dac;
|
||||
float3 tcol = pow((dots.rgb+dots.a),dotpow)*dotmult;
|
||||
float3 tcol = pow(max(0,dots.rgb+dots.a),dotpow)*dotmult;
|
||||
res.rgb = res.rgb*(1-dotblend)+tcol*dotblend;
|
||||
return res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ float3 EdgeView( float3 res, float2 coord )
|
|||
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,edgevfadepow)*edgevfademult);
|
||||
mud = saturate(pow(mud,edgevpow)*edgevmult);
|
||||
mud *= saturate(pow(max(0,fade),edgevfadepow)*edgevfademult);
|
||||
mud = saturate(pow(max(0,mud),edgevpow)*edgevmult);
|
||||
return mud;
|
||||
}
|
||||
/*
|
||||
|
|
@ -141,7 +141,7 @@ float4 PS_EdgePlusSSAOPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
{
|
||||
sample = reflect(ssao_samples_lq[i],rnormal);
|
||||
sample *= sign(dot(normal,sample));
|
||||
so = ldepth-sample.z*bof;
|
||||
so = ldepth-sample.z*bof.x;
|
||||
sdepth = depthlinear(coord+bof*sample.xy/ldepth);
|
||||
delta = saturate(so-sdepth);
|
||||
delta *= 1.0-smoothstep(0.0,sclamp,delta);
|
||||
|
|
@ -152,7 +152,7 @@ float4 PS_EdgePlusSSAOPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
{
|
||||
sample = reflect(ssao_samples_hq[i],rnormal);
|
||||
sample *= sign(dot(normal,sample));
|
||||
so = ldepth-sample.z*bof;
|
||||
so = ldepth-sample.z*bof.x;
|
||||
sdepth = depthlinear(coord+bof*sample.xy/ldepth);
|
||||
delta = saturate(so-sdepth);
|
||||
delta *= 1.0-smoothstep(0.0,sclamp,delta);
|
||||
|
|
@ -161,8 +161,8 @@ float4 PS_EdgePlusSSAOPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
}
|
||||
float uocc = saturate(occ/(ssaoquarter?16.0:64.0));
|
||||
float fade = 1.0-depth;
|
||||
uocc *= saturate(pow(fade,ssaofadepow)*ssaofademult);
|
||||
uocc = saturate(pow(uocc,ssaopow)*ssaomult);
|
||||
uocc *= saturate(pow(max(0,fade),ssaofadepow)*ssaofademult);
|
||||
uocc = saturate(pow(max(0,uocc),ssaopow)*ssaomult);
|
||||
res.a = saturate(1.0-(uocc*ssaoblend));
|
||||
return res;
|
||||
}
|
||||
|
|
@ -186,10 +186,11 @@ float2 DistantHeat( float2 coord )
|
|||
float2 bresl;
|
||||
float dep, odep;
|
||||
dep = tex2D(SamplerDepth,coord).x;
|
||||
float distfade = clamp(pow(dep,heatfadepow)*heatfademul+heatfadebump,
|
||||
0.0,1.0);
|
||||
float distfade = clamp(pow(max(0,dep),heatfadepow)*heatfademul
|
||||
+heatfadebump,0.0,1.0);
|
||||
if ( distfade <= 0.0 ) return coord;
|
||||
float todpow = pow(ENightDayFactor*(1.0-EInteriorFactor),heattodpow);
|
||||
float todpow = pow(max(0,ENightDayFactor*(1.0-EInteriorFactor)),
|
||||
heattodpow);
|
||||
if ( !heatalways && (todpow <= 0.0) ) return coord;
|
||||
if ( (fixedx > 0) && (fixedy > 0) ) bresl = float2(fixedx,fixedy);
|
||||
else bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||
|
|
@ -204,8 +205,8 @@ float2 DistantHeat( float2 coord )
|
|||
#endif
|
||||
;
|
||||
odep = tex2D(SamplerDepth,coord+ofs*heatstrength*distfade*0.01).x;
|
||||
float odistfade = clamp(pow(odep,heatfadepow)*heatfademul+heatfadebump,
|
||||
0.0,1.0);
|
||||
float odistfade = clamp(pow(max(0,odep),heatfadepow)*heatfademul
|
||||
+heatfadebump,0.0,1.0);
|
||||
if ( odistfade <= 0.0 ) return coord;
|
||||
return coord+ofs*heatstrength*distfade*0.01;
|
||||
}
|
||||
|
|
@ -221,18 +222,16 @@ float4 PS_Distortion( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
if ( heatenable ) ofs = DistantHeat(ofs);
|
||||
ofs -= coord;
|
||||
float4 res;
|
||||
if ( (distcha != 0.0) && (length(ofs) != 0) )
|
||||
{
|
||||
float2 ofr, ofg, ofb;
|
||||
ofr = ofs*(1.0-distcha*0.01);
|
||||
ofg = ofs;
|
||||
ofb = ofs*(1.0+distcha*0.01);
|
||||
res = float4(tex2D(SamplerColor,coord+ofr).r,
|
||||
tex2D(SamplerColor,coord+ofg).g,
|
||||
tex2D(SamplerColor,coord+ofb).b,
|
||||
tex2D(SamplerColor,coord+ofs).a);
|
||||
}
|
||||
else res = tex2D(SamplerColor,coord+ofs);
|
||||
if ( (distcha == 0.0) || (length(ofs) == 0) )
|
||||
return tex2D(SamplerColor,coord+ofs);
|
||||
float2 ofr, ofg, ofb;
|
||||
ofr = ofs*(1.0-distcha*0.01);
|
||||
ofg = ofs;
|
||||
ofb = ofs*(1.0+distcha*0.01);
|
||||
res = float4(tex2D(SamplerColor,coord+ofr).r,
|
||||
tex2D(SamplerColor,coord+ofg).g,
|
||||
tex2D(SamplerColor,coord+ofb).b,
|
||||
tex2D(SamplerColor,coord+ofs).a);
|
||||
return res;
|
||||
}
|
||||
/*
|
||||
|
|
@ -400,9 +399,8 @@ float4 PS_DoFPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
This method skips blurring areas that are perfectly in focus. The
|
||||
performance gain is negligible in most cases, though.
|
||||
*/
|
||||
#ifdef USE_BOKEH
|
||||
/* gather blur pass */
|
||||
float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
||||
float4 PS_DoFGather( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
||||
{
|
||||
float2 coord = IN.txcoord.xy;
|
||||
if ( dofdisable ) return tex2D(SamplerColor,coord);
|
||||
|
|
@ -413,44 +411,27 @@ float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
if ( (fixedx > 0) && (fixedy > 0) ) bresl = float2(fixedx,fixedy);
|
||||
else bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||
float2 bof = 1.0/bresl;
|
||||
float4 res = tex2D(SamplerColor,coord);
|
||||
float4 ccol = res;
|
||||
if ( dfc > 0.0 )
|
||||
if ( dfc <= dofminblur ) return tex2D(SamplerColor,coord);
|
||||
float4 res = float4(0,0,0,0);
|
||||
float dep = tex2D(SamplerDepth,coord).x;
|
||||
float sd, ds, sw, tw = 0;
|
||||
float2 bsz = bof*dofpradius*dfc;
|
||||
float4 sc;
|
||||
[unroll] for ( int i=0; i<32; i++ )
|
||||
{
|
||||
res *= 0;
|
||||
float dep = tex2D(SamplerDepth,coord).x;
|
||||
float sd, ds, sw, tw = 0;
|
||||
float2 bsz = bof*dofpradius*dfc;
|
||||
float4 sc;
|
||||
[unroll] for ( int i=0; i<32; i++ )
|
||||
{
|
||||
sc = tex2Dlod(SamplerColor,float4(coord.x
|
||||
+poisson32[i].x*bsz.x,coord.y+poisson32[i].y
|
||||
*bsz.y,0.0,dfc));
|
||||
ds = tex2D(SamplerDepth,coord+poisson32[i]*bsz).x;
|
||||
sd = tex2D(SamplerColor,coord+poisson32[i]*bsz).a;
|
||||
sw = (ds>dep)?1.0:sd;
|
||||
tw += sw;
|
||||
res += sc*sw;
|
||||
}
|
||||
res /= tw;
|
||||
sc = tex2Dlod(SamplerColor,float4(coord.x
|
||||
+poisson32[i].x*bsz.x,coord.y+poisson32[i].y
|
||||
*bsz.y,0.0,dfc*4.0));
|
||||
ds = tex2D(SamplerDepth,coord+poisson32[i]*bsz).x;
|
||||
sd = tex2D(SamplerColor,coord+poisson32[i]*bsz).a;
|
||||
sw = (ds>dep)?1.0:sd;
|
||||
tw += sw;
|
||||
res += sc*sw;
|
||||
}
|
||||
res.a = dfc;
|
||||
return res;
|
||||
}
|
||||
/* nobody here, only one pass is really needed */
|
||||
float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
||||
{
|
||||
float2 coord = IN.txcoord.xy;
|
||||
if ( dofdisable ) return tex2D(SamplerColor,coord);
|
||||
float dfc = tex2D(SamplerColor,coord).a;
|
||||
if ( dofdebug ) return tex2D(SamplerDepth,coord).x;
|
||||
if ( dfcdebug ) return dfc;
|
||||
float4 res = tex2D(SamplerColor,coord);
|
||||
res /= tw;
|
||||
res.a = 1.0;
|
||||
return res;
|
||||
}
|
||||
#else
|
||||
float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
||||
{
|
||||
float2 coord = IN.txcoord.xy;
|
||||
|
|
@ -461,12 +442,7 @@ float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
float bresl = (fixedx>0)?fixedx:ScreenSize.x;
|
||||
float bof = (1.0/bresl)*dofbradius;
|
||||
float4 res = float4(0,0,0,0);
|
||||
if ( dfc <= 0.0 )
|
||||
{
|
||||
res = tex2D(SamplerColor,coord);
|
||||
res.a = dfc;
|
||||
return res;
|
||||
}
|
||||
if ( dfc <= dofminblur ) return tex2D(SamplerColor,coord);
|
||||
int i;
|
||||
float isd, sd, ds, sw, tw = 0;
|
||||
isd = dfc;
|
||||
|
|
@ -493,12 +469,7 @@ float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
float bresl = (fixedy>0)?fixedy:(ScreenSize.x*ScreenSize.w);
|
||||
float bof = (1.0/bresl)*dofbradius;
|
||||
float4 res = float4(0,0,0,0);
|
||||
if ( dfc <= 0.0 )
|
||||
{
|
||||
res = tex2D(SamplerColor,coord);
|
||||
res.a = dfc;
|
||||
return res;
|
||||
}
|
||||
if ( dfc <= dofminblur ) return tex2D(SamplerColor,coord);
|
||||
int i;
|
||||
float isd, sd, ds, sw, tw = 0;
|
||||
isd = dfc;
|
||||
|
|
@ -515,7 +486,6 @@ float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
res.a = 1.0;
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
/* Screen frost shader. Not very realistic either, but looks fine too. */
|
||||
float2 ScreenFrost( float2 coord )
|
||||
{
|
||||
|
|
@ -543,25 +513,24 @@ float4 PS_FrostPass( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
float2 bresl;
|
||||
if ( (fixedx > 0) && (fixedy > 0) ) bresl = float2(fixedx,fixedy);
|
||||
else bresl = float2(ScreenSize.x,ScreenSize.x*ScreenSize.w);
|
||||
float2 ofs = coord;
|
||||
if ( frostenable ) ofs = ScreenFrost(ofs);
|
||||
ofs -= coord;
|
||||
float4 res;
|
||||
if ( (distcha != 0.0) && (length(ofs) != 0.0) )
|
||||
{
|
||||
float2 ofr, ofg, ofb;
|
||||
ofr = ofs*(1.0-distcha*0.01);
|
||||
ofg = ofs;
|
||||
ofb = ofs*(1.0+distcha*0.01);
|
||||
res = float4(tex2D(SamplerColor,coord+ofr).r,
|
||||
tex2D(SamplerColor,coord+ofg).g,
|
||||
tex2D(SamplerColor,coord+ofb).b,1.0);
|
||||
}
|
||||
else res = tex2D(SamplerColor,coord+ofs);
|
||||
if ( frostenable )
|
||||
{
|
||||
float2 ofs = ScreenFrost(coord);
|
||||
ofs -= coord;
|
||||
if ( (distcha != 0.0) && (length(ofs) != 0.0) )
|
||||
{
|
||||
float2 ofr, ofg, ofb;
|
||||
ofr = ofs*(1.0-distcha*0.01);
|
||||
ofg = ofs;
|
||||
ofb = ofs*(1.0+distcha*0.01);
|
||||
res = float4(tex2D(SamplerColor,coord+ofr).r,
|
||||
tex2D(SamplerColor,coord+ofg).g,
|
||||
tex2D(SamplerColor,coord+ofb).b,1.0);
|
||||
}
|
||||
else res = tex2D(SamplerColor,coord+ofs);
|
||||
float2 nc = coord*(bresl/FROSTSIZE)*frostsize;
|
||||
float bmp = pow(tex2D(SamplerFrost,nc).x,frostbpow);
|
||||
float bmp = pow(max(0,tex2D(SamplerFrost,nc).x),frostbpow);
|
||||
float dist = distance(coord,float2(0.5,0.5))*2.0;
|
||||
dist = clamp(pow(dist,frostrpow)*frostrmult+frostrbump,0.0,
|
||||
1.0)*frostblend;
|
||||
|
|
@ -573,6 +542,7 @@ float4 PS_FrostPass( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
if ( EInteriorFactor == 1.0 ) dist *= frostind;
|
||||
res.rgb *= 1.0+bmp*dist;
|
||||
}
|
||||
else res = tex2D(SamplerColor,coord);
|
||||
if ( !focusdisplay ) return res;
|
||||
float2 fcenter = float2(focuscenter_x,focuscenter_y);
|
||||
if ( distance(coord,fcenter) < 0.01 ) res.rgb = float3(1,0,0);
|
||||
|
|
@ -622,7 +592,7 @@ technique WriteFocus
|
|||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcess
|
||||
technique PostProcess <string UIName="MariENB Bilateral Blur DoF";>
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
|
|
@ -758,3 +728,122 @@ technique PostProcess8
|
|||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG <string UIName="MariENB Gather Blur DoF";>
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_EdgePlusSSAOPrepass();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG2
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_Distortion();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG3
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_SSAOBlurH();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG4
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_SSAOBlurV();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG5
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_DoFPrepass();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG6
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_DoFGather();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
technique PostProcessG8
|
||||
{
|
||||
pass p0
|
||||
{
|
||||
VertexShader = compile vs_3_0 VS_Pass();
|
||||
PixelShader = compile ps_3_0 PS_FrostPass();
|
||||
DitherEnable = FALSE;
|
||||
ZEnable = FALSE;
|
||||
CullMode = NONE;
|
||||
ALPHATESTENABLE = FALSE;
|
||||
SEPARATEALPHABLENDENABLE = FALSE;
|
||||
AlphaBlendEnable = FALSE;
|
||||
StencilEnable = FALSE;
|
||||
FogEnable = FALSE;
|
||||
SRGBWRITEENABLE = FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -81,7 +81,6 @@ static const float3 ssao_samples_hq[64] =
|
|||
float3(-0.8919,-0.0384, 0.3360),float3(-0.0144, 0.9775,-0.2105)
|
||||
};
|
||||
/* For high quality DOF */
|
||||
#ifdef USE_BOKEH
|
||||
static const float2 poisson32[32] =
|
||||
{
|
||||
float2( 0.7284430,-0.1927130),float2( 0.4051600,-0.2312710),
|
||||
|
|
@ -101,7 +100,6 @@ static const float2 poisson32[32] =
|
|||
float2( 0.0761715,-0.9631760),float2(-0.9218270, 0.2121210),
|
||||
float2(-0.6378530, 0.3053550),float2(-0.8425180, 0.4753000)
|
||||
};
|
||||
#endif
|
||||
/* standard stuff */
|
||||
float4 ScreenSize;
|
||||
float ENightDayFactor;
|
||||
|
|
|
|||
|
|
@ -619,7 +619,6 @@ bool dofdisable
|
|||
string UIName = "Disable DOF";
|
||||
string UIWidget = "Checkbox";
|
||||
> = {false};
|
||||
#ifndef USE_BOKEH
|
||||
float dofbfact
|
||||
<
|
||||
string UIName = "DOF Bilateral Factor";
|
||||
|
|
@ -631,14 +630,12 @@ float dofbradius
|
|||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {1.0};
|
||||
#else
|
||||
float dofpradius
|
||||
<
|
||||
string UIName = "DOF Gather Blur Radius";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {6.0};
|
||||
#endif
|
||||
#ifndef FALLOUT
|
||||
bool dofrelfov
|
||||
<
|
||||
|
|
@ -673,6 +670,14 @@ float relfovfactor_id
|
|||
string UIWidget = "Spinner";
|
||||
> = {2.0};
|
||||
#endif
|
||||
/* cheap performance option */
|
||||
float dofminblur
|
||||
<
|
||||
string UIName = "DOF Minimum Blur";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
float UIMax = 1.0;
|
||||
> = {0.0};
|
||||
bool dofdebug
|
||||
<
|
||||
string UIName = "Debug Depth";
|
||||
|
|
|
|||
Reference in a new issue