gpt4 book ai didi

c++ - DirectX — 是否有 DirectDraw 表面 Flip() 的类似物?

转载 作者:行者123 更新时间:2023-11-28 08:07:46 37 4
gpt4 key购买 nike

我正在构建一个应用程序,它根据提供的两张图片(非 3D 模型)在 200 Hz 屏幕上绘制立体图像(立体图像)。所以重绘的速度完整性非常重要。我使用 DirectDraw 表面及其 Flip() 取得了最佳效果(将当前表面的图像切换为次要图像):

(void) lpddsPrimary->Flip(nullptr, DDFLIP_WAIT);

但 DirectDraw 非常过时,我正在寻找一种基于现代 DirectX 库重新实现此功能的方法。但我真的不想创建四边形、绘制图片作为纹理、计算 3D 投影矩阵只是为了输出 2D 图像。

对于如何使用 DirectX 完成此操作的任何片段,我将非常感激。提前致谢。

最佳答案

为了您的目的,您可以使用 DXGI 并完全避免 D3D。您没有说明如何将数据放入后台缓冲区,但 DXGI 允许您创建交换链、翻转它(Present)并访问表面(例如锁定它们 - 现在称为 Map)。对于 3D,您需要“1”版本,例如DXGISwapChain1。参见 http://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspx .

请注意,DXGISwapChain1 是 DXGISwapChain 的子类,一些重要的方法(如 GetBuffer)在基接口(interface)中。

关于c++ - DirectX — 是否有 DirectDraw 表面 Flip() 的类似物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9904979/

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