在 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 中发现,您可以一次提供纹理资源集合,并提及从其提供的缓冲区中收集纹理的起始索引。
我总共有 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 中发现,您可以一次提供纹理资源集合,并提及从其提供的缓冲区中收集纹理的起始索引。