gpt4 book ai didi

c++ - 从交换链获取多个屏幕缓冲区

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:38:55 24 4
gpt4 key购买 nike

我想创建多个渲染目标 View ,我试过了,但我无法获得超过 2 个的缓冲区。

我已经将 DXGI_SWAP_CHAIN_DESC 的 BufferCount 值设置为 BufferSize

UINT const BufferSize = 4;
ID3D11Texture2D* BufferTemp;

ID3D11RenderTargetView** RenderTargetView = new ID3D11RenderTargetView*[BufferSize];
for (UINT i = 0; i < BufferSize; i++) {
ZeroMemory(&BufferTemp, sizeof(BufferTemp));

SwapChain->GetBuffer(i, __uuidof(ID3D11Texture2D), (void**)&BufferTemp);

Device->CreateRenderTargetView(BufferTemp, 0, &RenderTargetView[i]);
}

在实际代码中,我已经初始化了 HRESULT 值,它在第一个循环中说 S_OK,但之后它说 0x887a0001。

最佳答案

如果此交换链正在使用 DXGI_SWAP_EFFECT_DISCARD 效果,则 GetBuffer 方法只能访问第一个缓冲区。也就是说,您只能查看可以绘制的唯一缓冲区。

关于c++ - 从交换链获取多个屏幕缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55886967/

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