struct PixelShaderInput { float4 pos : SV_POSITION; float4 uvst : COORDINATES; uint tile_type : TILE_TYPE; }; struct PixelShaderOutput { float4 color : SV_TARGET; }; Texture2DArray tex1 : register(t0); SamplerState texture_sampler : register(s0); PixelShaderOutput main(PixelShaderInput input) { PixelShaderOutput output; #if 1 output.color = tex1.Sample(texture_sampler, float3(input.uvst.xy, input.tile_type)); #else output.color = float4(1, 0, 1, 1); #endif return output; }