在 9 个资源的 0 到 8 索引中,应该使用哪个纹理槽开始我需要第 7 和第 8 个槽的位置

Which texture slot should be used to start where I need 7th and 8th slot together among 0 to 8 index of 9 resources

我总共有 9 个纹理资源,其中我需要 2 个资源一起用于像素着色器。在这种情况下,如果我只需要第 7 个和第 8 个纹理资源,纹理槽起始索引应该是什么。 (例如 Texture2D foo1 : register(t7) 和 Texture2D foo2 : register(t8))

void PSSetShaderResources(
   UINT                     StartSlot,
   UINT                     NumViews,
   ID3D11ShaderResourceView * const *ppShaderResourceViews
);

编辑: 我有一个包装器 class 用于管理我正在处理多个资源的着色器,如下所示:

ID3D11DeviceContextPtr context = renderer->Context();
std::vector<ID3D11ShaderResourceView*> srvs;

    for(auto texture : m_textures)
    {
        srvs.push_back(texture->ShaderResourceView());
    }
    context->PSSetShaderResources(m_startSlot, srvs.size(), srvs.data());

我从这个 post 中发现,您可以一次提供纹理资源集合,并提及从其提供的缓冲区中收集纹理的起始索引。