gpt4 book ai didi

directx - 解除绑定(bind)着色器资源

转载 作者:行者123 更新时间:2023-12-02 11:00:22 31 4
gpt4 key购买 nike

如果您想在 directx11 中取消绑定(bind)着色器资源,我找到的所有代码都会执行以下操作:

ID3D10ShaderResourceView* nullSRV[1] = {nullptr};
context->PSSetShaderResources(0, 1, &nullSRV);

为什么不直接使用这个呢?

context->PSSetShaderResources(0, 0, nullptr);

文档似乎支持( https://msdn.microsoft.com/en-us/library/windows/desktop/ff476473%28v=vs.85%29.aspx ),两者之间真的有什么区别吗?

最佳答案

在第一种情况下,您从插槽 0 开始解除绑定(bind)一个 SRV。在第二种情况下,您不会解除任何绑定(bind),因为 NumViews 为零。如果你想在第二种情况下解除绑定(bind),你必须使用:

context->PSSetShaderResources(0, 1, nullptr);

但是,这会导致运行时崩溃:

D3D11 CORRUPTION: ID3D11DeviceContext::PSSetShaderResources: Third parameter corrupt or unexpectedly NULL. [ MISCELLANEOUS CORRUPTION #15: CORRUPTED_PARAMETER3]

这就是使用第一种形式的原因。

关于directx - 解除绑定(bind)着色器资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29772313/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com