MariENB Skyrim 2.4.4
This commit is contained in:
parent
b0d43e5ecd
commit
08c16b7a30
6 changed files with 192 additions and 82 deletions
|
|
@ -1 +1 @@
|
|||
2.4.2-1 "Crazy about weathers"
|
||||
2.4.4-1 "The Bokehning"
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
[ENBBLOOM.FX]
|
||||
TECHNIQUE=0
|
||||
Bloom Intensity Night=0.38
|
||||
Bloom Intensity Day=0.35
|
||||
Bloom Intensity Interior Night=0.34
|
||||
Bloom Intensity Interior Day=0.31
|
||||
Bloom Intensity Night=0.42
|
||||
Bloom Intensity Day=0.39
|
||||
Bloom Intensity Interior Night=0.35
|
||||
Bloom Intensity Interior Day=0.32
|
||||
Bloom Contrast Night=0.99
|
||||
Bloom Contrast Day=0.96
|
||||
Bloom Contrast Interior Night=0.99
|
||||
Bloom Contrast Interior Day=0.97
|
||||
Bloom Saturation Night=1.04
|
||||
Bloom Saturation Day=1.02
|
||||
Bloom Saturation Interior Night=1.01
|
||||
Bloom Saturation Interior Day=1.0
|
||||
Bloom Offset Night=-0.13
|
||||
Bloom Offset Day=-0.18
|
||||
Bloom Saturation Night=1.09
|
||||
Bloom Saturation Day=1.07
|
||||
Bloom Saturation Interior Night=1.06
|
||||
Bloom Saturation Interior Day=1.05
|
||||
Bloom Offset Night=-0.09
|
||||
Bloom Offset Day=-0.14
|
||||
Bloom Offset Interior Night=-0.1
|
||||
Bloom Offset Interior Day=-0.14
|
||||
Bloom Intensity Cap Night=35.0
|
||||
Bloom Intensity Cap Day=35.0
|
||||
Bloom Intensity Cap Interior Night=35.0
|
||||
Bloom Intensity Cap Interior Day=35.0
|
||||
Bloom Intensity Cap Night=25.0
|
||||
Bloom Intensity Cap Day=25.0
|
||||
Bloom Intensity Cap Interior Night=25.0
|
||||
Bloom Intensity Cap Interior Day=25.0
|
||||
Bloom Blur Radius X=1.0
|
||||
Bloom Blur Radius Y=1.0
|
||||
Blue Shift Night Red=0.07
|
||||
|
|
@ -34,17 +34,17 @@ Blue Shift Interior Night Blue=1.77
|
|||
Blue Shift Interior Day Red=0.08
|
||||
Blue Shift Interior Day Green=-0.3
|
||||
Blue Shift Interior Day Blue=1.39
|
||||
Blue Shift Intensity Night=0.16
|
||||
Blue Shift Intensity Day=0.13
|
||||
Blue Shift Intensity Interior Night=0.18
|
||||
Blue Shift Intensity Interior Day=0.15
|
||||
Blue Shift Intensity Night=0.22
|
||||
Blue Shift Intensity Day=0.19
|
||||
Blue Shift Intensity Interior Night=0.24
|
||||
Blue Shift Intensity Interior Day=0.21
|
||||
Blue Shift Luminance Factor Per-pass=0.74
|
||||
Blue Shift Color Factor Per-pass=0.85
|
||||
Enable Anamorphic Bloom=true
|
||||
Anamorphic Bloom Blend Night=0.54
|
||||
Anamorphic Bloom Blend Day=0.47
|
||||
Anamorphic Bloom Blend Interior Night=0.51
|
||||
Anamorphic Bloom Blend Interior Day=0.44
|
||||
Anamorphic Bloom Blend Night=0.59
|
||||
Anamorphic Bloom Blend Day=0.51
|
||||
Anamorphic Bloom Blend Interior Night=0.55
|
||||
Anamorphic Bloom Blend Interior Day=0.48
|
||||
Anamorphic Bloom Blue Shift Night Red=0.06
|
||||
Anamorphic Bloom Blue Shift Night Green=-0.44
|
||||
Anamorphic Bloom Blue Shift Night Blue=1.39
|
||||
|
|
@ -57,20 +57,20 @@ Anamorphic Bloom Blue Shift Interior Night Blue=1.54
|
|||
Anamorphic Bloom Blue Shift Interior Day Red=-0.03
|
||||
Anamorphic Bloom Blue Shift Interior Day Green=-0.11
|
||||
Anamorphic Bloom Blue Shift Interior Day Blue=1.65
|
||||
Anamorphic Bloom Blue Shift Intensity Night=0.33
|
||||
Anamorphic Bloom Blue Shift Intensity Day=0.29
|
||||
Anamorphic Bloom Blue Shift Interior Night=0.46
|
||||
Anamorphic Bloom Blue Shift Interior Day=0.39
|
||||
Anamorphic Bloom Contrast Night=1.25
|
||||
Anamorphic Bloom Contrast Day=1.33
|
||||
Anamorphic Bloom Contrast Interior Night=1.32
|
||||
Anamorphic Bloom Contrast Interior Day=1.33
|
||||
Anamorphic Bloom Blue Shift Intensity Night=0.46
|
||||
Anamorphic Bloom Blue Shift Intensity Day=0.41
|
||||
Anamorphic Bloom Blue Shift Interior Night=0.57
|
||||
Anamorphic Bloom Blue Shift Interior Day=0.5
|
||||
Anamorphic Bloom Contrast Night=1.2
|
||||
Anamorphic Bloom Contrast Day=1.25
|
||||
Anamorphic Bloom Contrast Interior Night=1.27
|
||||
Anamorphic Bloom Contrast Interior Day=1.28
|
||||
Anamorphic Bloom Radius Multiplier=1.0
|
||||
Bloom Pass 1 Blend=0.33
|
||||
Bloom Pass 2 Blend=0.56
|
||||
Bloom Pass 1 Blend=1.29
|
||||
Bloom Pass 2 Blend=1.11
|
||||
Bloom Pass 3 Blend=0.76
|
||||
Bloom Pass 4 Blend=0.83
|
||||
Bloom Pass 7 Blend=0.86
|
||||
Bloom Pass 8 Blend=0.97
|
||||
Bloom Pass 4 Blend=0.65
|
||||
Bloom Pass 7 Blend=0.49
|
||||
Bloom Pass 8 Blend=0.28
|
||||
Bloom Prepass Blend=0.0
|
||||
Bloom Base Blend=0.0
|
||||
|
|
|
|||
|
|
@ -158,11 +158,11 @@ Grading Value Contrast Interior Night=1.05
|
|||
Grading Value Contrast Interior Day=1.01
|
||||
Colorize After HSV=true
|
||||
Enable Vanilla Imagespace=true
|
||||
Vanilla Tint Blend=0.99
|
||||
Vanilla Vibrance Blend=0.94
|
||||
Vanilla Contrast Blend=0.85
|
||||
Vanilla Tint Contrast=0.95
|
||||
Vanilla Tint Strength=1.39
|
||||
Vanilla Tint Blend=0.92
|
||||
Vanilla Vibrance Blend=0.95
|
||||
Vanilla Contrast Blend=0.89
|
||||
Vanilla Tint Contrast=1.15
|
||||
Vanilla Tint Strength=0.94
|
||||
Vanilla Vibrance Contrast=0.93
|
||||
Vanilla Vibrance Strength=1.0
|
||||
Enable LUT Grading=true
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ DOF Fog Blend Interior Day=1.0
|
|||
Disable DOF=false
|
||||
Use Only Fixed DOF=false
|
||||
DOF Blur Radius=8.0
|
||||
DOF Blur Chromatic Aberration=1.5
|
||||
DOF Blur Chromatic Aberration=1.78
|
||||
DOF Relative to FOV=true
|
||||
Default FOV=75.0
|
||||
DOF Relative Factor Night=2.19
|
||||
|
|
@ -173,3 +173,16 @@ Sharpen Enable=true
|
|||
Sharpen Radius=0.8
|
||||
Sharpen Clamp=0.1
|
||||
Sharpen Blending=6.0
|
||||
DOF Fixed Focus Depth=0.0
|
||||
DOF Fixed Focus Cap=0.0
|
||||
DOF Fixed Unfocus Depth=0.0
|
||||
DOF Fog Depth=0.0
|
||||
Enable DOF Post-Blur=true
|
||||
DOF Post-Blur Radius=1.0
|
||||
Enable DOF Highlights=true
|
||||
DOF Highlight Threshold=0.71
|
||||
DOF Highlight Gain=1.93
|
||||
DOF Bokeh Edge Bias=0.5
|
||||
DOF Bokeh Fuzz=0.01
|
||||
DOF Gather Blur Radius=8.0
|
||||
DOF Bokeh Blur Radius=2.0
|
||||
|
|
|
|||
|
|
@ -347,20 +347,29 @@ float4 PS_DoFPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
float doffixedunfocusmult = tod_ind(doffixedunfocusmult);
|
||||
float doffixedunfocusbump = tod_ind(doffixedunfocusbump);
|
||||
float doffixedunfocusblend = tod_ind(doffixedunfocusblend);
|
||||
#ifndef FALLOUT
|
||||
float doffogpow = tod_ind(doffogpow);
|
||||
float doffogmult = tod_ind(doffogmult);
|
||||
float doffogbump = tod_ind(doffogbump);
|
||||
float doffogblend = tod_ind(doffogblend);
|
||||
#endif
|
||||
float dep = tex2D(SamplerDepth,coord).x;
|
||||
float foc = tex2D(SamplerFocus,coord).x;
|
||||
/* cheap tilt */
|
||||
foc = foc+0.01*doftiltx*(doftiltxcenter-coord.x)
|
||||
+0.01*doftilty*(doftiltycenter-coord.y);
|
||||
float dfc = abs(dep-foc);
|
||||
float dff = abs(dep);
|
||||
float dfu = dff;
|
||||
float dff = abs(dep-doffixedfocusdepth);
|
||||
dff = clamp(pow(dff,doffixedfocuspow)*doffixedfocusmult
|
||||
+doffixedfocusbump,0.0,1.0);
|
||||
if ( dep > doffixedfocuscap ) dff = 1.0;
|
||||
float dfu = abs(dep-doffixedunfocusdepth);
|
||||
dfu = clamp(pow(dfu,doffixedunfocuspow)*doffixedunfocusmult
|
||||
+doffixedunfocusbump,0.0,1.0);
|
||||
#ifndef FALLOUT
|
||||
float dfog = abs(dep-doffogdepth);
|
||||
dfog = clamp(pow(dfog,doffogpow)*doffogmult+doffogbump,0.0,1.0);
|
||||
#endif
|
||||
if ( doffixedcut && (dep >= cutoff*0.000001) ) dfu *= 0;
|
||||
float dfog = dff;
|
||||
/*
|
||||
Change power of dof based on field of view. Works only in Skyrim.
|
||||
The FieldOfView variable seems to hold bogus values in Fallout
|
||||
|
|
@ -376,24 +385,43 @@ float4 PS_DoFPrepass( VS_OUTPUT_POST IN, float2 vPos : VPOS ) : COLOR
|
|||
dofpow = max(0,dofpow+relfov*relfovfactor);
|
||||
}
|
||||
#endif
|
||||
float dfc = abs(dep-foc);
|
||||
dfc = clamp(pow(dfc,dofpow)*dofmult+dofbump,0.0,1.0);
|
||||
dff = clamp(pow(dff,doffixedfocuspow)*doffixedfocusmult
|
||||
+doffixedfocusbump,0.0,1.0);
|
||||
dfu = clamp(pow(dfu,doffixedunfocuspow)*doffixedunfocusmult
|
||||
+doffixedunfocusbump,0.0,1.0);
|
||||
dfog = clamp(pow(dfog,doffogpow)*doffogmult+doffogbump,0.0,1.0);
|
||||
if ( doffixedonly ) dfc *= 0;
|
||||
dfc *= lerp(1.0,dff,doffixedfocusblend);
|
||||
dfc += lerp(0.0,dfu,doffixedunfocusblend);
|
||||
#ifndef FALLOUT
|
||||
if ( doffogenable )
|
||||
dfc += (weatherfactor(WT_TEMPERATE_FOG)
|
||||
+weatherfactor(WT_COLD_FOG)+weatherfactor(WT_HOT_FOG))
|
||||
*lerp(0.0,dfog,doffogblend);
|
||||
#endif
|
||||
dfc *= lerp(1.0,dff,doffixedfocusblend);
|
||||
dfc = saturate(dfc);
|
||||
float4 res = tex2D(SamplerColor,coord);
|
||||
res.a = dfc;
|
||||
return res;
|
||||
}
|
||||
/* helper code for simplifying these */
|
||||
#define gcircle(x) float2(cos(x),sin(x))
|
||||
float4 dofsample( float2 coord, float2 bsz, float blur, bool bDoHighlight )
|
||||
{
|
||||
float4 res;
|
||||
float cstep = 2.0*pi*(1.0/3.0);
|
||||
float ang = 0.5*pi;
|
||||
res.r = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).r;
|
||||
ang += cstep;
|
||||
res.g = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).g;
|
||||
ang += cstep;
|
||||
res.b = tex2D(SamplerColor,coord+gcircle(ang)*bsz*dofpcha*0.1).b;
|
||||
if ( bDoHighlight )
|
||||
{
|
||||
float l = luminance(res.rgb);
|
||||
float threshold = max((l-dofbthreshold)*dofbgain,0.0);
|
||||
res += lerp(0,res,threshold*blur);
|
||||
}
|
||||
res.a = tex2D(SamplerColor,coord).a;
|
||||
return res;
|
||||
}
|
||||
/* gather blur pass */
|
||||
float4 PS_DoFGather( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
||||
{
|
||||
|
|
@ -418,11 +446,7 @@ float4 PS_DoFGather( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
float4 sc;
|
||||
[unroll] for ( int i=0; i<32; i++ )
|
||||
{
|
||||
sc = float4(tex2D(SamplerColor,coord+poisson32[i]*bsz*(1
|
||||
+dofpcha*0.1)).r,tex2D(SamplerColor,coord+poisson32[i]
|
||||
*bsz).g,tex2D(SamplerColor,coord+poisson32[i]*bsz*(1
|
||||
-dofpcha*0.1)).b,tex2D(SamplerColor,coord+poisson32[i]
|
||||
*bsz).a);
|
||||
sc = dofsample(coord+poisson32[i]*bsz,bsz,dfc,dofhilite);
|
||||
ds = tex2D(SamplerDepth,coord+poisson32[i]*bsz).x;
|
||||
sw = (ds>dep)?1.0:sc.a;
|
||||
tw += sw;
|
||||
|
|
@ -452,29 +476,26 @@ float4 PS_DoFBorkeh( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
*/
|
||||
if ( dfc <= dofminblur ) return res;
|
||||
float dep = tex2D(SamplerDepth,coord).x;
|
||||
float sr = dofpradius*dfc;
|
||||
float w = max(0,(1/(sr*sr+1))*luminance(res.rgb+0.01));
|
||||
res *= w;
|
||||
float tw = w;
|
||||
float2 bsz = bof*sr;
|
||||
float4 pc;
|
||||
float sc, ds;
|
||||
[unroll] for ( int i=0; i<32; i++ )
|
||||
float2 sf = bof+(tex2D(SamplerNoise3,coord*(bresl/256.0)).xy*2.0-1.0)
|
||||
*dofbnoise*0.001;
|
||||
float2 sr = sf*dofbradius*dfc;
|
||||
float tw = 1.0;
|
||||
int rsamples;
|
||||
float bstep, sw;
|
||||
float2 rcoord;
|
||||
#define dofbrings 7
|
||||
#define dofbsamples 3
|
||||
[unroll] for ( int i=1; i<=dofbrings; i++ )
|
||||
{
|
||||
pc = float4(tex2D(SamplerColor,coord+poisson32[i]*bsz*(1
|
||||
+dofpcha*0.1)).r,tex2D(SamplerColor,coord+poisson32[i]
|
||||
*bsz).g,tex2D(SamplerColor,coord+poisson32[i]*bsz*(1
|
||||
-dofpcha*0.1)).b,tex2D(SamplerColor,coord+poisson32[i]
|
||||
*bsz).a);
|
||||
ds = tex2D(SamplerDepth,coord+poisson32[i]*bsz).x;
|
||||
sc = abs(pc.a*dofpradius);
|
||||
if ( sr < 0.0 ) sc = max(abs(sr),sc);
|
||||
w = (1.0/(pow(sc,2)+1))*luminance(pc.rgb+0.01);
|
||||
w *= saturate(1-smoothstep(sc,sc*1.1,length(poisson32[i]*bsz)
|
||||
*abs(sr)));
|
||||
w *= (ds>dep)?1.0:sc;
|
||||
res += pc*w;
|
||||
tw += w;
|
||||
rsamples = i*dofbsamples;
|
||||
[unroll] for ( int j=0; j<rsamples; j++ )
|
||||
{
|
||||
bstep = pi*2.0/(float)rsamples;
|
||||
rcoord = gcircle(j*bstep)*i;
|
||||
sw = lerp(1.0,(float)i/(float)dofbrings,dofbbias);
|
||||
res += dofsample(coord+rcoord*sr,sr,dfc,dofhilite)*sw;
|
||||
tw += sw;
|
||||
}
|
||||
}
|
||||
res /= tw;
|
||||
res.a = dfc;
|
||||
|
|
@ -490,7 +511,7 @@ float4 PS_DoFPostBlur( 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 bof = 1.0/bresl;
|
||||
float2 bof = (1.0/bresl)*dofpbradius;
|
||||
float2 ofs[16] =
|
||||
{
|
||||
float2(1.0,1.0), float2(-1.0,-1.0),
|
||||
|
|
@ -506,13 +527,13 @@ float4 PS_DoFPostBlur( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR
|
|||
float2(-1.41,1.41), float2(1.41,-1.41)
|
||||
};
|
||||
float4 res = tex2D(SamplerColor,coord);
|
||||
if ( !dofpostblur ) return float4(res.rgb,1.0);
|
||||
int i;
|
||||
[unroll] for ( i=0; i<16; i++ )
|
||||
res += tex2D(SamplerColor,coord+ofs[i]*bof*dfc);
|
||||
res /= 17.0;
|
||||
res.a = 1.0;
|
||||
return res;
|
||||
|
||||
}
|
||||
/* Screen frost shader. Not very realistic either, but looks fine too. */
|
||||
float2 ScreenFrost( float2 coord )
|
||||
|
|
|
|||
|
|
@ -520,6 +520,20 @@ float doffixedfocusblend_id
|
|||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.0};
|
||||
float doffixedfocusdepth
|
||||
<
|
||||
string UIName = "DOF Fixed Focus Depth";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
float UIMax = 1.0;
|
||||
> = {0.0};
|
||||
float doffixedfocuscap
|
||||
<
|
||||
string UIName = "DOF Fixed Focus Cap";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
float UIMax = 1.0;
|
||||
> = {0.0};
|
||||
/* fixed unfocused depth factors */
|
||||
float doffixedunfocusmult_n
|
||||
<
|
||||
|
|
@ -613,12 +627,20 @@ float doffixedunfocusblend_id
|
|||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.0};
|
||||
float doffixedunfocusdepth
|
||||
<
|
||||
string UIName = "DOF Fixed Unfocus Depth";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
float UIMax = 1.0;
|
||||
> = {0.0};
|
||||
/* prevents fixed dof from blurring the skybox */
|
||||
bool doffixedcut
|
||||
<
|
||||
string UIName = "DOF Fixed Use Cutoff";
|
||||
string UIWidget = "Checkbox";
|
||||
> = {true};
|
||||
#ifndef FALLOUT
|
||||
/* fixed dof for foggy weathers */
|
||||
bool doffogenable
|
||||
<
|
||||
|
|
@ -717,6 +739,14 @@ float doffogblend_id
|
|||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.0};
|
||||
float doffogdepth
|
||||
<
|
||||
string UIName = "DOF Fog Depth";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
float UIMax = 1.0;
|
||||
> = {0.0};
|
||||
#endif
|
||||
/* disable depth of field */
|
||||
bool dofdisable
|
||||
<
|
||||
|
|
@ -730,15 +760,61 @@ bool doffixedonly
|
|||
> = {false};
|
||||
float dofpradius
|
||||
<
|
||||
string UIName = "DOF Blur Radius";
|
||||
string UIName = "DOF Gather Blur Radius";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {6.0};
|
||||
bool dofpostblur
|
||||
<
|
||||
string UIName = "Enable DOF Post-Blur";
|
||||
string UIWidget = "Checkbox";
|
||||
> = {true};
|
||||
float dofpbradius
|
||||
<
|
||||
string UIName = "DOF Post-Blur Radius";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {1.0};
|
||||
float dofpcha
|
||||
<
|
||||
string UIName = "DOF Blur Chromatic Aberration";
|
||||
string UIWidget = "Spinner";
|
||||
> = {0.0};
|
||||
bool dofhilite
|
||||
<
|
||||
string UIName = "Enable DOF Highlights";
|
||||
string UIWidget = "Checkbox";
|
||||
> = {false};
|
||||
float dofbthreshold
|
||||
<
|
||||
string UIName = "DOF Highlight Threshold";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.5};
|
||||
float dofbgain
|
||||
<
|
||||
string UIName = "DOF Highlight Gain";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {2.0};
|
||||
float dofbradius
|
||||
<
|
||||
string UIName = "DOF Bokeh Blur Radius";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {1.0};
|
||||
float dofbbias
|
||||
<
|
||||
string UIName = "DOF Bokeh Edge Bias";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.5};
|
||||
float dofbnoise
|
||||
<
|
||||
string UIName = "DOF Bokeh Fuzz";
|
||||
string UIWidget = "Spinner";
|
||||
float UIMin = 0.0;
|
||||
> = {0.01};
|
||||
#ifndef FALLOUT
|
||||
bool dofrelfov
|
||||
<
|
||||
|
|
|
|||
Reference in a new issue