从交换链获取多个屏幕缓冲区
Getting multiple screen buffers from swap-chain
我想创建多个渲染目标视图,我试过了,但我无法获得超过 2 的缓冲区。
我已经将DXGI_SWAP_CHAIN_DESC的缓冲区计数值设置为缓冲区大小
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++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- Vulkan:从屏幕外缓冲区呈现给交换链
- 通过行和列设置控制台屏幕尺寸和屏幕缓冲区
- 如何绘制到目标纹理大于屏幕分辨率的帧缓冲区
- 从交换链获取多个屏幕缓冲区
- 如何制作屏幕缓冲区 c++
- 复制命令/Powershell 窗口屏幕缓冲区
- OSX+屏幕外渲染+CoreGL+帧缓冲区+着色器=头疼
- 如何在一个屏幕中使用两个缓冲区?可能吗?(快板)
- 如何将屏幕图像放入内存缓冲区
- 在Windows中的屏幕上渲染缓冲区
- 使用wxWidgets在内存中绘制8位灰度图像缓冲区到屏幕
- 在将线条渲染到屏幕外缓冲区方面,Direct 2D 会比 Qt 更好吗?
- 为防止屏幕撕裂,每帧分配一个新的缓冲区