From 0a4198769915ebd72c1ff113444c3f113c148c28 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 7 Apr 2019 17:32:38 +0200 Subject: [PATCH] MariENB 2.0.3 --- assets/menbbokeh.png | Bin 8104 -> 0 bytes code/menbprepassfilters.fx | 54 +++-------------------- code/menbprepassinternals.fx | 47 +++++++------------- code/menbprepasssettings.fx | 20 --------- skyrim/enbseries/enbeffectprepass.fx.ini | 2 +- 5 files changed, 24 insertions(+), 99 deletions(-) delete mode 100644 assets/menbbokeh.png diff --git a/assets/menbbokeh.png b/assets/menbbokeh.png deleted file mode 100644 index 3db2fc46d89114198c3ae0b5f6b7307135062e7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8104 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 O6uhUapUXO@geCwCdy&Hc diff --git a/code/menbprepassfilters.fx b/code/menbprepassfilters.fx index 305b587..252f2e4 100644 --- a/code/menbprepassfilters.fx +++ b/code/menbprepassfilters.fx @@ -422,38 +422,23 @@ float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR float sd, ds, sw, tw = 0; float2 bsz = bof*dofpradius*dfc; float4 sc; - [unroll] for ( int i=0; i<16; i++ ) + [unroll] for ( int i=0; i<32; i++ ) { sc = tex2Dlod(SamplerColor,float4(coord.x - +poisson16[i].x*bsz.x,coord.y+poisson16[i].y + +poisson32[i].x*bsz.x,coord.y+poisson32[i].y *bsz.y,0.0,dfc)); - ds = tex2D(SamplerDepth,coord+poisson16[i]*bsz).x; - sd = tex2D(SamplerColor,coord+poisson16[i]*bsz).a; + 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; } - /* check if bokeh point */ - const float2 pts[9] = - { - float2(-1.5,-1.5),float2( 0.5,-1.5),float2( 1.5,-1.5), - float2(-1.5, 0.5),float2( 0.5, 0.5),float2( 1.5, 1.5), - float2(-1.5, 1.5),float2( 0.5, 1.5),float2( 1.5, 1.5) - }; - float4 col = float4(0,0,0,0); - [unroll] for ( int i=0; i<9; i++ ) - col += tex2D(SamplerColor,coord+pts[i]*bof); - col /= 9.0; - float lum = luminance(col), clum = luminance(ccol); - if ( (max(clum-lum,0.0) > bokthr) && (dfc > bokbthr) ) - col.a = min(clum*dfc,1.0); - else col.a = 0.0; - res.a = col.a; + res.a = dfc; return res; } -/* bokeh pass */ +/* nobody here, only one pass is really needed */ float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR { float2 coord = IN.txcoord.xy; @@ -461,34 +446,7 @@ float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float2 vPos : VPOS) : COLOR float dfc = tex2D(SamplerColor,coord).a; if ( dofdebug ) return tex2D(SamplerDepth,coord).x; if ( dfcdebug ) return dfc; - 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); float4 res = tex2D(SamplerColor,coord); - // It's bokeh time - float2 rcoord; - int rsmp; - float rstep, bsmp, bft, tw = 0; - float4 bcol = float4(0,0,0,0); - [unroll] for ( int r=1; r<=5; r++ ) - { - rsmp = r*3; - [loop] for ( int s=0; s; -#ifdef USE_BOKEH -texture2D texBokeh -< - string ResourceName = "menbbokeh.png"; ->; -#endif texture2D texFocus; texture2D texCurr; texture2D texPrev; @@ -217,20 +218,6 @@ sampler2D SamplerFrostBump = sampler_state MaxMipLevel = 0; MipMapLodBias = 0; }; -#ifdef USE_BOKEH -sampler2D SamplerBokeh = sampler_state -{ - Texture = ; - MinFilter = LINEAR; - MagFilter = LINEAR; - MipFilter = NONE; - AddressU = Border; - AddressV = Border; - SRGBTexture = FALSE; - MaxMipLevel = 0; - MipMapLodBias = 0; -}; -#endif sampler2D SamplerFocus = sampler_state { Texture = ; diff --git a/code/menbprepasssettings.fx b/code/menbprepasssettings.fx index 3c9e5d8..07af301 100644 --- a/code/menbprepasssettings.fx +++ b/code/menbprepasssettings.fx @@ -673,26 +673,6 @@ float relfovfactor_id string UIWidget = "Spinner"; > = {2.0}; #endif -#ifdef USE_BOKEH -float bokthr -< - string UIName = "Bokeh Threshold"; - string UIWidget = "Spinner"; - float UIMin = 0.0; -> = {1.0}; -float bokbthr -< - string UIName = "Bokeh Blur Threshold"; - string UIWidget = "Spinner"; - float UIMin = 0.0; -> = {0.5}; -float boksiz -< - string UIName = "Bokeh Size"; - string UIWidget = "Spinner"; - float UIMin = 0.0; -> = {8.0}; -#endif bool dofdebug < string UIName = "Debug Depth"; diff --git a/skyrim/enbseries/enbeffectprepass.fx.ini b/skyrim/enbseries/enbeffectprepass.fx.ini index c47b32b..a94f127 100644 --- a/skyrim/enbseries/enbeffectprepass.fx.ini +++ b/skyrim/enbseries/enbeffectprepass.fx.ini @@ -180,4 +180,4 @@ SSAO Blur Use Less Samples=true Bokeh Threshold=1.0 Bokeh Blur Threshold=0.5 Bokeh Size=8.0 -DOF Gather Blur Radius=6.0 +DOF Gather Blur Radius=8.0