- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我希望这是对一个我找不到答案的简单问题的简单答案。
如何访问 Directx 11/DXGI 中的前端缓冲区?我发现在 Directx 9 中你可以使用 GetFrontBufferData() 并且你可以在 Directx 11 中使用 GetBuffer() 来访问后备缓冲区,但是这有问题。后台缓冲区不像前台缓冲区那样进行计算。
所以我想知道我是否遗漏了什么。
我可以尝试使用 GetDisplaySurfaceData,除非我误解了什么,否则它不会工作,因为我并不总是处于全屏模式。
编辑:有人可以告诉我 GetBuffer 在 Directx 11 的 SwapChain 中是如何工作的吗?正如我所读到的,抗锯齿只发生在前台缓冲区上,从不发生在后台缓冲区上。 0 是第一个后备缓冲区吗? (Microsoft 声明您只能在某些情况下使用 0。)
是否有可能在 Directx 11 中获得前端缓冲区?
非常感谢,
最佳答案
您需要使用 IDXGISwapChain::GetBuffer
API 来检索交换链表面(使用 uuid ID3D11Texture2D
作为结果类型)。
现在,交换链缓冲区不可映射,因此您需要将其复制到暂存资源。
ID3D11Texture2D::GetDesc
检索表面描述D3D11_USAGE_STAGING
用法和 D3D11_CPU_ACCESS_READ
的 cpu 访问标志对其进行修补ID3D11Device::CreateTexture2D
ID3D11DeviceContext::CopyResource
您现在拥有一个包含交换链缓冲区内容的 ID3D11Texture2D
,您可以使用 ID3D11DeviceContext::Map
API 在 CPU 上读取它
关于c++ - Directx 11 前置缓冲器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18459004/
我有这个缓冲区: SP16 audio_data[4000]; //Typershort SP16 它将充满音频样本: memcpy(audio_data, global_data, size_chu
我正在按照 http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/example/serialization/connection.hpp
我对 vDSP_zrip 和 AudioUnit 的使用和配置有疑问。事实上我配置 AudioUnit 以将打包数据保存为 float 。我创建了一个循环缓冲区,当这个缓冲区已满时,我计算了一个 ff
我正在尝试利用 Node.js 中的 TCP 套接字与 Lua 程序进行通信。我试图解决两个问题。首先是缓冲区。 缓冲区 据我了解,当数据从套接字提供给您的代码时,它将是目前已收到的任何数据(流而不是
我是一名优秀的程序员,十分优秀!