/* menbprepassinternals.fx : MariENB prepass internal variables. (C)2013-2014 Marisa Kirisame, UnSX Team. Part of MariENB, the personal ENB of Marisa. Released under the WTFPL. */ /* mathematical constants */ static const float pi = 3.1415926535898; /* edge detect factors */ static const float3x3 GX = { -1, 0, 1, -2, 0, 2, -1, 0, 1 }; static const float3x3 GY = { 1, 2, 1, 0, 0, 0, -1,-2,-1 }; /* gaussian blur matrices */ static const float2x2 gauss3 = { 0.16,0.12, 0.12,0.09 }; static const float3x3 gauss5 = { 0.0865051903114,0.0692041522491,0.0346020761246, 0.0692041522491,0.0553633217993,0.0276816609, 0.0346020761246,0.0276816609,0.01384083045 }; /* standard stuff */ float4 ScreenSize; float ENightDayFactor; float EInteriorFactor; float FadeFactor; float4 Timer; /* samplers and textures */ texture2D texColor; texture2D texDepth; texture2D texFocus; texture2D texCurr; texture2D texPrev; sampler2D SamplerColor = sampler_state { Texture = ; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = NONE; AddressU = Mirror; AddressV = Mirror; SRGBTexture = FALSE; MaxMipLevel = 0; MipMapLodBias = 0; }; sampler2D SamplerDepth = sampler_state { Texture = ; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = NONE; AddressU = Clamp; AddressV = Clamp; SRGBTexture = FALSE; MaxMipLevel = 0; MipMapLodBias = 0; }; sampler2D SamplerFocus = sampler_state { Texture = ; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = NONE; AddressU = Clamp; AddressV = Clamp; SRGBTexture = FALSE; MaxMipLevel = 0; MipMapLodBias = 0; }; sampler2D SamplerCurr = sampler_state { Texture = ; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = LINEAR; AddressU = Clamp; AddressV = Clamp; SRGBTexture = FALSE; MaxMipLevel = 0; MipMapLodBias = 0; }; sampler2D SamplerPrev = sampler_state { Texture = ; MinFilter = LINEAR; MagFilter = LINEAR; MipFilter = NONE; AddressU = Clamp; AddressV = Clamp; SRGBTexture = FALSE; MaxMipLevel = 0; MipMapLodBias = 0; }; /* whatever */ struct VS_OUTPUT_POST { float4 vpos : POSITION; float2 txcoord : TEXCOORD0; }; struct VS_INPUT_POST { float3 pos : POSITION; float2 txcoord : TEXCOORD0; };