title: D3D12 Dynamic indexing of textures with different formats
body: <p>In shader model 5.1 we can use dynamic indexing for textures like so:</p>
  
  <pre><code>Texture2D textures[5] : register(t0)
  PixelShader(Input p) : SV_TARGET
  {
       float4 color = textures[0].Sample(someSampler, p.UV);
       return color;
  }
  </code></pre>
  
  <p>Here it's assumed that all textures have 4 channels (rgba). However, I have no idea how to sample when my texture array is a mix of different formats like BC3 (rgba), BC4 (single channel R), BC5 (dual channel RG). For example, in case of BC4 I could try</p>
  
  <pre><code>float R = textures[0].Sample(someSampler, p.UV).r;
  </code></pre>
  
  <p>But wouldn't this just skip over three texels?</p>