MariENB FO4 3.0.1a
This commit is contained in:
parent
dbcdd398df
commit
4b86fb142c
7 changed files with 286 additions and 83 deletions
|
|
@ -285,12 +285,12 @@ UseIndirectLighting=true
|
||||||
ResolutionScale=0.5
|
ResolutionScale=0.5
|
||||||
SourceTexturesScale=0.5
|
SourceTexturesScale=0.5
|
||||||
SamplingQuality=2
|
SamplingQuality=2
|
||||||
SamplingRange=0.15
|
SamplingRange=0.3
|
||||||
AOIntensity=2.5
|
AOIntensity=1.65
|
||||||
AOIntensityInterior=2.0
|
AOIntensityInterior=1.35
|
||||||
AOAmount=1.5
|
AOAmount=1.2
|
||||||
AOAmountInterior=1.2
|
AOAmountInterior=1.15
|
||||||
ILAmount=1.0
|
ILAmount=2.4
|
||||||
ILAmountInterior=1.0
|
ILAmountInterior=2.6
|
||||||
AOMixingType=0
|
AOMixingType=0
|
||||||
AOMixingTypeInterior=0
|
AOMixingTypeInterior=0
|
||||||
|
|
|
||||||
|
|
@ -267,6 +267,11 @@ float bloommix6
|
||||||
string UIName = "Bloom Pass 6 Blend";
|
string UIName = "Bloom Pass 6 Blend";
|
||||||
string UIWidget = "Spinner";
|
string UIWidget = "Spinner";
|
||||||
> = {1.0};
|
> = {1.0};
|
||||||
|
float bloommixs
|
||||||
|
<
|
||||||
|
string UIName = "Bloom Single Pass Blend";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
string str_bloomdirt = "Lens Dirt";
|
string str_bloomdirt = "Lens Dirt";
|
||||||
bool dirtenable
|
bool dirtenable
|
||||||
<
|
<
|
||||||
|
|
@ -303,6 +308,11 @@ float dirtmix6
|
||||||
string UIName = "Dirt Pass 6 Blend";
|
string UIName = "Dirt Pass 6 Blend";
|
||||||
string UIWidget = "Spinner";
|
string UIWidget = "Spinner";
|
||||||
> = {0.1};
|
> = {0.1};
|
||||||
|
float dirtmixs
|
||||||
|
<
|
||||||
|
string UIName = "Dirt Single Pass Blend";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {1.0};
|
||||||
float ldirtpow
|
float ldirtpow
|
||||||
<
|
<
|
||||||
string UIName = "Dirt Contrast";
|
string UIName = "Dirt Contrast";
|
||||||
|
|
@ -497,11 +507,8 @@ float4 PS_Downsize( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
as it just makes it so bright areas ONLY at the very middle of the screen
|
as it just makes it so bright areas ONLY at the very middle of the screen
|
||||||
produces sharp bright lines extending towards the sides.
|
produces sharp bright lines extending towards the sides.
|
||||||
*/
|
*/
|
||||||
float4 PS_Anamorphic( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
float4 Anamorphic( float2 coord, Texture2D intex, float insz )
|
||||||
uniform Texture2D intex, uniform float insz ) : SV_Target
|
|
||||||
{
|
{
|
||||||
float2 coord = IN.txcoord0.xy;
|
|
||||||
if ( !alfenable ) return intex.Sample(Sampler,coord);
|
|
||||||
float4 res = float4(0.0,0.0,0.0,0.0),
|
float4 res = float4(0.0,0.0,0.0,0.0),
|
||||||
base = RenderTargetRGBA64F.Sample(Sampler,coord);
|
base = RenderTargetRGBA64F.Sample(Sampler,coord);
|
||||||
int i;
|
int i;
|
||||||
|
|
@ -522,11 +529,10 @@ float4 PS_Anamorphic( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
float fbl = tod_ind(fbl);
|
float fbl = tod_ind(fbl);
|
||||||
float fpw = tod_ind(fpw);
|
float fpw = tod_ind(fpw);
|
||||||
res.rgb = pow(res.rgb,fpw)*fbl;
|
res.rgb = pow(res.rgb,fpw)*fbl;
|
||||||
res.a = 1.0;
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Horizontal blur step goes here */
|
/* blur step goes here */
|
||||||
float4 PS_HorizontalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
float4 PS_HorizontalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
uniform Texture2D intex, uniform float insz ) : SV_Target
|
uniform Texture2D intex, uniform float insz ) : SV_Target
|
||||||
{
|
{
|
||||||
|
|
@ -542,7 +548,7 @@ float4 PS_HorizontalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss8[abs(i)]:0.0;
|
sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss8[abs(i)]:0.0;
|
||||||
}
|
}
|
||||||
res *= 1.0/sum;
|
res *= 1.0/sum;
|
||||||
if ( alfenable ) res += TextureColor.Sample(Sampler,coord);
|
if ( alfenable ) res += Anamorphic(coord,intex,insz);
|
||||||
res.a = 1.0;
|
res.a = 1.0;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
@ -562,8 +568,8 @@ float4 PS_VerticalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
[unroll] for ( i=-7; i<=7; i++ )
|
[unroll] for ( i=-7; i<=7; i++ )
|
||||||
{
|
{
|
||||||
pp = coord+float2(0.0,i*bloomradiusy)/insz;
|
pp = coord+float2(0.0,i*bloomradiusy)/insz;
|
||||||
res += gauss8[abs(i)]*TextureColor.Sample(Sampler,pp);
|
res += gauss8[abs(i)]*intex.Sample(Sampler,pp);
|
||||||
sum += ((pp.x>=0.0)&&(pp.x<1.0))?gauss8[abs(i)]:0.0;
|
sum += ((pp.y>=0.0)&&(pp.y<1.0))?gauss8[abs(i)]:0.0;
|
||||||
}
|
}
|
||||||
res *= 1.0/sum;
|
res *= 1.0/sum;
|
||||||
float3 blu = tod_ind(blu);
|
float3 blu = tod_ind(blu);
|
||||||
|
|
@ -578,17 +584,22 @@ float4 PS_VerticalBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* end pass, mix it all up */
|
/* end pass, mix it all up */
|
||||||
float4 PS_PostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
float4 PS_PostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0,
|
||||||
|
uniform bool simple) : SV_Target
|
||||||
{
|
{
|
||||||
float2 coord = IN.txcoord0.xy;
|
float2 coord = IN.txcoord0.xy;
|
||||||
float4 res = float4(0.0,0.0,0.0,0.0);
|
float4 res = float4(0.0,0.0,0.0,0.0);
|
||||||
res += bloommix1*RenderTarget1024.Sample(Sampler,coord);
|
if ( simple ) res += bloommixs*RenderTarget32.Sample(Sampler,coord);
|
||||||
res += bloommix2*RenderTarget512.Sample(Sampler,coord);
|
else
|
||||||
res += bloommix3*RenderTarget256.Sample(Sampler,coord);
|
{
|
||||||
res += bloommix4*RenderTarget128.Sample(Sampler,coord);
|
res += bloommix1*RenderTarget1024.Sample(Sampler,coord);
|
||||||
res += bloommix5*RenderTarget64.Sample(Sampler,coord);
|
res += bloommix2*RenderTarget512.Sample(Sampler,coord);
|
||||||
res += bloommix6*RenderTarget32.Sample(Sampler,coord);
|
res += bloommix3*RenderTarget256.Sample(Sampler,coord);
|
||||||
res.rgb /= 6.0;
|
res += bloommix4*RenderTarget128.Sample(Sampler,coord);
|
||||||
|
res += bloommix5*RenderTarget64.Sample(Sampler,coord);
|
||||||
|
res += bloommix6*RenderTarget32.Sample(Sampler,coord);
|
||||||
|
res.rgb /= 6.0;
|
||||||
|
}
|
||||||
res.rgb = clamp(res.rgb,0.0,32768.0);
|
res.rgb = clamp(res.rgb,0.0,32768.0);
|
||||||
res.a = 1.0;
|
res.a = 1.0;
|
||||||
if ( !dirtenable ) return res;
|
if ( !dirtenable ) return res;
|
||||||
|
|
@ -599,13 +610,17 @@ float4 PS_PostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
||||||
ccoord.y = (coord.y-0.5)*ScreenSize.w+0.5;
|
ccoord.y = (coord.y-0.5)*ScreenSize.w+0.5;
|
||||||
#endif
|
#endif
|
||||||
float4 crap = TextureLens.Sample(SamplerLens,ccoord);
|
float4 crap = TextureLens.Sample(SamplerLens,ccoord);
|
||||||
mud += dirtmix1*RenderTarget1024.Sample(Sampler,coord);
|
if ( simple ) mud += dirtmixs*RenderTarget32.Sample(Sampler,coord);
|
||||||
mud += dirtmix2*RenderTarget512.Sample(Sampler,coord);
|
else
|
||||||
mud += dirtmix3*RenderTarget256.Sample(Sampler,coord);
|
{
|
||||||
mud += dirtmix4*RenderTarget128.Sample(Sampler,coord);
|
mud += dirtmix1*RenderTarget1024.Sample(Sampler,coord);
|
||||||
mud += dirtmix5*RenderTarget64.Sample(Sampler,coord);
|
mud += dirtmix2*RenderTarget512.Sample(Sampler,coord);
|
||||||
mud += dirtmix6*RenderTarget32.Sample(Sampler,coord);
|
mud += dirtmix3*RenderTarget256.Sample(Sampler,coord);
|
||||||
mud.rgb /= 6.0;
|
mud += dirtmix4*RenderTarget128.Sample(Sampler,coord);
|
||||||
|
mud += dirtmix5*RenderTarget64.Sample(Sampler,coord);
|
||||||
|
mud += dirtmix6*RenderTarget32.Sample(Sampler,coord);
|
||||||
|
mud.rgb /= 6.0;
|
||||||
|
}
|
||||||
mud.rgb = clamp(mud.rgb,0.0,32768.0);
|
mud.rgb = clamp(mud.rgb,0.0,32768.0);
|
||||||
float mudmax = luminance(mud.rgb);
|
float mudmax = luminance(mud.rgb);
|
||||||
float mudn = max(mudmax/(1.0+mudmax),0.0);
|
float mudn = max(mudmax/(1.0+mudmax),0.0);
|
||||||
|
|
@ -616,7 +631,91 @@ float4 PS_PostPass( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
technique11 BloomPass <string UIName="MariENB Bloom"; string RenderTarget="RenderTargetRGBA64F";>
|
technique11 BloomSimplePass <string UIName="MariENB Simple Bloom"; string RenderTarget="RenderTargetRGBA64F";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_PrePass()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 BloomSimplePass1 <string RenderTarget="RenderTarget1024";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTargetRGBA64F,0.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass2 <string RenderTarget="RenderTarget512";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTarget1024,1024.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass3 <string RenderTarget="RenderTarget256";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTarget512,512.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass4 <string RenderTarget="RenderTarget128";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTarget256,256.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass5 <string RenderTarget="RenderTarget64";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTarget128,128.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass6 <string RenderTarget="RenderTarget32";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Downsize(RenderTarget64,64.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 BloomSimplePass7
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget32,32.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomSimplePass8 <string RenderTarget="RenderTarget32";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,32.0,5.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 BloomSimplePass9
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_PostPass(true)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 BloomPass <string UIName="MariENB Multi Bloom"; string RenderTarget="RenderTargetRGBA64F";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
|
|
@ -675,14 +774,6 @@ technique11 BloomPass6 <string RenderTarget="RenderTarget32";>
|
||||||
}
|
}
|
||||||
|
|
||||||
technique11 BloomPass7
|
technique11 BloomPass7
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget1024,1024.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass8
|
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
|
|
@ -690,24 +781,16 @@ technique11 BloomPass8
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget1024,1024.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget1024,1024.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
technique11 BloomPass9 <string RenderTarget="RenderTarget1024";>
|
technique11 BloomPass8 <string RenderTarget="RenderTarget1024";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget1024,1024.0,0.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,1024.0,0.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
technique11 BloomPass10
|
technique11 BloomPass9
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget512,512.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass11
|
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
|
|
@ -715,12 +798,29 @@ technique11 BloomPass11
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget512,512.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget512,512.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
technique11 BloomPass12 <string RenderTarget="RenderTarget512";>
|
technique11 BloomPass10 <string RenderTarget="RenderTarget512";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget512,512.0,1.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,512.0,1.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 BloomPass11
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget256,256.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 BloomPass12 <string RenderTarget="RenderTarget256";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,256.0,2.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -729,48 +829,49 @@ technique11 BloomPass13
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget256,256.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget128,128.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
technique11 BloomPass14
|
technique11 BloomPass14 <string RenderTarget="RenderTarget128";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget256,256.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,128.0,3.0)));
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass15 <string RenderTarget="RenderTarget256";>
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget256,256.0,2.0)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
technique11 BloomPass16
|
technique11 BloomPass15
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget128,128.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget64,64.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
technique11 BloomPass16 <string RenderTarget="RenderTarget64";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,64.0,4.0)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
technique11 BloomPass17
|
technique11 BloomPass17
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget128,128.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget32,32.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
technique11 BloomPass18 <string RenderTarget="RenderTarget128";>
|
technique11 BloomPass18 <string RenderTarget="RenderTarget32";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget128,128.0,3.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(TextureColor,32.0,5.0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -779,56 +880,6 @@ technique11 BloomPass19
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget64,64.0)));
|
SetPixelShader(CompileShader(ps_5_0,PS_PostPass(false)));
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass20
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget64,64.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass21 <string RenderTarget="RenderTarget64";>
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget64,64.0,4.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
technique11 BloomPass22
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_Anamorphic(RenderTarget32,32.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass23
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_HorizontalBlur(RenderTarget32,32.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
technique11 BloomPass24 <string RenderTarget="RenderTarget32";>
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_VerticalBlur(RenderTarget32,32.0,5.0)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
technique11 BloomPass25
|
|
||||||
{
|
|
||||||
pass p0
|
|
||||||
{
|
|
||||||
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_PostPass()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -97,3 +97,5 @@ Dirt Contrast=0.85
|
||||||
Dirt Factor=2.33
|
Dirt Factor=2.33
|
||||||
Bloom Blur Radius X=1.92
|
Bloom Blur Radius X=1.92
|
||||||
Bloom Blur Radius Y=1.08
|
Bloom Blur Radius Y=1.08
|
||||||
|
Bloom Single Pass Blend=1.28
|
||||||
|
Dirt Single Pass Blend=1.05
|
||||||
|
|
|
||||||
|
|
@ -565,6 +565,17 @@ bool dofdisable
|
||||||
string UIName = "Disable DOF";
|
string UIName = "Disable DOF";
|
||||||
string UIWidget = "Checkbox";
|
string UIWidget = "Checkbox";
|
||||||
> = {false};
|
> = {false};
|
||||||
|
float dofbfact
|
||||||
|
<
|
||||||
|
string UIName = "DOF Bilateral Factor";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
> = {20.0};
|
||||||
|
float dofbradius
|
||||||
|
<
|
||||||
|
string UIName = "DOF Bilateral Radius";
|
||||||
|
string UIWidget = "Spinner";
|
||||||
|
float UIMin = 0.0;
|
||||||
|
> = {1.0};
|
||||||
float dofpradius
|
float dofpradius
|
||||||
<
|
<
|
||||||
string UIName = "DOF Gather Blur Radius";
|
string UIName = "DOF Gather Blur Radius";
|
||||||
|
|
@ -1388,6 +1399,64 @@ float4 PS_DoFBlur( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
||||||
else return TextureColor.Sample(Sampler1,coord);
|
else return TextureColor.Sample(Sampler1,coord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* simple gaussian / bilateral blur */
|
||||||
|
float4 PS_DoFBlurH( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
||||||
|
{
|
||||||
|
float2 coord = IN.txcoord.xy;
|
||||||
|
if ( dofdisable ) return TextureColor.Sample(Sampler1,coord);
|
||||||
|
float dfc = RenderTargetR32F.Sample(Sampler1,coord).x;
|
||||||
|
if ( dofdebug ) return TextureDepth.Sample(Sampler1,coord).x;
|
||||||
|
if ( dfcdebug ) return dfc;
|
||||||
|
float bresl = (fixed.x>0)?fixed.x:ScreenSize.x;
|
||||||
|
float bof = (1.0/bresl)*dofbradius;
|
||||||
|
float4 res = float4(0,0,0,0);
|
||||||
|
if ( dfc <= dofminblur ) return TextureColor.Sample(Sampler1,coord);
|
||||||
|
int i;
|
||||||
|
float isd, sd, ds, sw, tw = 0;
|
||||||
|
isd = dfc;
|
||||||
|
[unroll] for ( i=-7; i<=7; i++ )
|
||||||
|
{
|
||||||
|
sd = RenderTargetR32F.Sample(Sampler1,coord+float2(i,0)*bof
|
||||||
|
*dfc).x;
|
||||||
|
ds = abs(isd-sd)*dofbfact+0.5;
|
||||||
|
sw = 1.0/(ds+1.0);
|
||||||
|
sw *= gauss8[abs(i)];
|
||||||
|
tw += sw;
|
||||||
|
res += sw*TextureColor.Sample(Sampler1,coord+float2(i,0)*bof
|
||||||
|
*dfc);
|
||||||
|
}
|
||||||
|
res /= tw;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
float4 PS_DoFBlurV( VS_OUTPUT_POST IN, float4 v0 : SV_Position0 ) : SV_Target
|
||||||
|
{
|
||||||
|
float2 coord = IN.txcoord.xy;
|
||||||
|
if ( dofdisable ) return TextureColor.Sample(Sampler1,coord);
|
||||||
|
float dfc = RenderTargetR32F.Sample(Sampler1,coord).x;
|
||||||
|
if ( dofdebug ) return TextureDepth.Sample(Sampler1,coord).x;
|
||||||
|
if ( dfcdebug ) return dfc;
|
||||||
|
float bresl = (fixed.y>0)?fixed.y:(ScreenSize.x*ScreenSize.w);
|
||||||
|
float bof = (1.0/bresl)*dofbradius;
|
||||||
|
float4 res = float4(0,0,0,0);
|
||||||
|
if ( dfc <= dofminblur ) return TextureColor.Sample(Sampler1,coord);
|
||||||
|
int i;
|
||||||
|
float isd, sd, ds, sw, tw = 0;
|
||||||
|
isd = dfc;
|
||||||
|
[unroll] for ( i=-7; i<=7; i++ )
|
||||||
|
{
|
||||||
|
sd = RenderTargetR32F.Sample(Sampler1,coord+float2(0,i)*bof
|
||||||
|
*dfc).x;
|
||||||
|
ds = abs(isd-sd)*dofbfact+0.5;
|
||||||
|
sw = 1.0/(ds+1.0);
|
||||||
|
sw *= gauss8[abs(i)];
|
||||||
|
tw += sw;
|
||||||
|
res += sw*TextureColor.Sample(Sampler1,coord+float2(0,i)*bof
|
||||||
|
*dfc);
|
||||||
|
}
|
||||||
|
res /= tw;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
/* Screen frost shader. Not very realistic either, but looks fine too. */
|
/* Screen frost shader. Not very realistic either, but looks fine too. */
|
||||||
float2 ScreenFrost( float2 coord )
|
float2 ScreenFrost( float2 coord )
|
||||||
{
|
{
|
||||||
|
|
@ -1489,7 +1558,88 @@ technique11 Focus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
technique11 Prepass <string UIName="MariENB";>
|
technique11 PrepassNB <string UIName="MariENB Bilateral Blur DoF";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_SSAOPre()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB1
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurH()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB2 <string RenderTarget="RenderTargetR16F";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_SSAOBlurV()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB3 <string RenderTarget="RenderTargetR32F";>
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_DoFPrepass()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB4
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_SSAOApply()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB5
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Edge()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB6
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_Distortion()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB7
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_DoFBlurH()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB8
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_DoFBlurV()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
technique11 PrepassNB9
|
||||||
|
{
|
||||||
|
pass p0
|
||||||
|
{
|
||||||
|
SetVertexShader(CompileShader(vs_5_0,VS_Quad()));
|
||||||
|
SetPixelShader(CompileShader(ps_5_0,PS_FrostPass()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
technique11 Prepass <string UIName="MariENB Gather Blur DoF";>
|
||||||
{
|
{
|
||||||
pass p0
|
pass p0
|
||||||
{
|
{
|
||||||
|
|
@ -1561,5 +1711,3 @@ technique11 Prepass8
|
||||||
SetPixelShader(CompileShader(ps_5_0,PS_FrostPass()));
|
SetPixelShader(CompileShader(ps_5_0,PS_FrostPass()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ Depth Cutoff=999998.0
|
||||||
Near Z=0.05
|
Near Z=0.05
|
||||||
Far Z=3098.0
|
Far Z=3098.0
|
||||||
Distortion Chromatic Aberration=27.4
|
Distortion Chromatic Aberration=27.4
|
||||||
Enable Underwater=true
|
Enable Underwater=false
|
||||||
Underwater Frequency=2.36, 3.39, 2.72
|
Underwater Frequency=2.36, 3.39, 2.72
|
||||||
Underwater Speed=24.3, 21.9, 26.5
|
Underwater Speed=24.3, 21.9, 26.5
|
||||||
Underwater Amplitude=0.1, 0.11, 0.07
|
Underwater Amplitude=0.1, 0.11, 0.07
|
||||||
Underwater Zoom=0.15
|
Underwater Zoom=0.15
|
||||||
Always Underwater=false
|
Always Underwater=false
|
||||||
Enable Hot Air Refraction=true
|
Enable Hot Air Refraction=false
|
||||||
Heat Texture Size=6.4
|
Heat Texture Size=6.4
|
||||||
Heat Speed=0.45
|
Heat Speed=0.45
|
||||||
Heat Fade Contrast=235.0
|
Heat Fade Contrast=235.0
|
||||||
|
|
@ -22,7 +22,7 @@ Heat Intensity=0.6
|
||||||
Heat Contrast=0.95
|
Heat Contrast=0.95
|
||||||
Heat Time-of-day Contrast=0.5
|
Heat Time-of-day Contrast=0.5
|
||||||
Heat Always Enable=true
|
Heat Always Enable=true
|
||||||
Enable Screen Frost=true
|
Enable Screen Frost=false
|
||||||
Frost Contrast=1.1
|
Frost Contrast=1.1
|
||||||
Frost Strength=0.05
|
Frost Strength=0.05
|
||||||
Frost Radial Contrast=0.8
|
Frost Radial Contrast=0.8
|
||||||
|
|
@ -182,3 +182,5 @@ Frost Factor Sunset=0.0
|
||||||
Frost Factor Dusk=0.0
|
Frost Factor Dusk=0.0
|
||||||
Frost Factor Night=0.28
|
Frost Factor Night=0.28
|
||||||
Frost Factor Interior=0.0
|
Frost Factor Interior=0.0
|
||||||
|
DOF Bilateral Factor=20.0
|
||||||
|
DOF Bilateral Radius=1.0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[ENBEFFECT.FX]
|
[ENBEFFECT.FX]
|
||||||
TECHNIQUE=1
|
TECHNIQUE=1
|
||||||
Enable Grain=true
|
Enable Grain=false
|
||||||
Grain Speed=2500.0
|
Grain Speed=2500.0
|
||||||
Grain Intensity=0.02
|
Grain Intensity=0.02
|
||||||
Grain Saturation=-0.23
|
Grain Saturation=-0.23
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.6 MiB After Width: | Height: | Size: 1.7 MiB |
Reference in a new issue