0

嗨,这些天我在directx 11上遇到资源绑定问题。我想做的是将新的颜色信息写入后台缓冲区。

这样您就可以检查下面的代码。

凭我的直觉,我只是简单地将“outputTex”资源复制到后台缓冲区。而且,它什么也没做。我已经检查了 outputTex 的值是否正确。所以看来我不能使用 CopyResource()。

    Microsoft::WRL::ComPtr<ID3D11Texture2D> backBuffer;
    swapchain->GetBuffer(0, __uuidof(ID3D11Texture2D), reinterpret_cast<void**>(backBuffer.GetAddressOf()));

    dContext->CopyResource(backBuffer.Get(), outputTex.Get());

所以作为替代方案,我设法将“outputTex”资源传递给像素着色器,而不是处理后台缓冲区。

    dContext->PSSetShaderResources(0, 1, outputSRV.GetAddressOf());

这仍然无法正常工作。

我希望这只是我的愚蠢错误。

4

0 回答 0