Texture2D Texture : register(t0); SamplerState Linear : register(s0); float4 main(in float4 oPosition : SV_Position, in float4 oColor : COLOR, in float3 oTexCoord0 : TEXCOORD0, in float3 oTexCoord1 : TEXCOORD1, in float3 oTexCoord2 : TEXCOORD2) : SV_Target { float ResultR = Texture.SampleLevel(Linear, oTexCoord0.xy, 0.0).r; float ResultG = Texture.SampleLevel(Linear, oTexCoord1.xy, 0.0).g; float ResultB = Texture.SampleLevel(Linear, oTexCoord2.xy, 0.0).b; return float4(ResultR * oColor.r, ResultG * oColor.g, ResultB * oColor.b, 1.0); //" return oColor.rrrr; }