1 Texture2D<float4> TextureF : register(t0);
2 Texture2D<uint4> TextureUI : register(t0);
3 Texture2D<int4> TextureI : register(t0);
5 SamplerState Sampler : register(s0);
7 void VS_Passthrough2D( in float2 inPosition : POSITION, in float2 inTexCoord : TEXCOORD0,
8 out float4 outPosition : SV_POSITION, out float2 outTexCoord : TEXCOORD0)
10 outPosition = float4(inPosition, 0.0f, 1.0f);
11 outTexCoord = inTexCoord;
14 float PS_PassthroughDepth2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_DEPTH
16 return TextureF.Sample(Sampler, inTexCoord).r;
19 float4 PS_PassthroughRGBA2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
21 return TextureF.Sample(Sampler, inTexCoord).rgba;
24 uint4 PS_PassthroughRGBA2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
27 TextureUI.GetDimensions(size.x, size.y);
29 return TextureUI.Load(int3(size * inTexCoord, 0)).rgba;
32 int4 PS_PassthroughRGBA2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
35 TextureI.GetDimensions(size.x, size.y);
37 return TextureI.Load(int3(size * inTexCoord, 0)).rgba;
40 float4 PS_PassthroughRGB2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
42 return float4(TextureF.Sample(Sampler, inTexCoord).rgb, 1.0f);
45 uint4 PS_PassthroughRGB2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
48 TextureUI.GetDimensions(size.x, size.y);
50 return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rgb, 0);
53 int4 PS_PassthroughRGB2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
56 TextureI.GetDimensions(size.x, size.y);
58 return int4(TextureI.Load(int3(size * inTexCoord, 0)).rgb, 0);
61 float4 PS_PassthroughRG2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
63 return float4(TextureF.Sample(Sampler, inTexCoord).rg, 0.0f, 1.0f);
66 uint4 PS_PassthroughRG2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
69 TextureUI.GetDimensions(size.x, size.y);
71 return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
74 int4 PS_PassthroughRG2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
77 TextureI.GetDimensions(size.x, size.y);
79 return int4(TextureI.Load(int3(size * inTexCoord, 0)).rg, 0, 0);
82 float4 PS_PassthroughR2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
84 return float4(TextureF.Sample(Sampler, inTexCoord).r, 0.0f, 0.0f, 1.0f);
87 uint4 PS_PassthroughR2DUI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
90 TextureUI.GetDimensions(size.x, size.y);
92 return uint4(TextureUI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
95 int4 PS_PassthroughR2DI(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
98 TextureI.GetDimensions(size.x, size.y);
100 return int4(TextureI.Load(int3(size * inTexCoord, 0)).r, 0, 0, 0);
103 float4 PS_PassthroughLum2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
105 return float4(TextureF.Sample(Sampler, inTexCoord).rrr, 1.0f);
108 float4 PS_PassthroughLumAlpha2D(in float4 inPosition : SV_POSITION, in float2 inTexCoord : TEXCOORD0) : SV_TARGET0
110 return TextureF.Sample(Sampler, inTexCoord).rrra;