DirectX — 有没有类似 DirectDraw surface Flip() 的类似物

DirectX — is there an analogue of DirectDraw surface Flip()?

本文关键字:Flip 类似物 surface DirectDraw 有没有 DirectX      更新时间:2023-10-16

我正在构建一个应用程序,该应用程序基于提供的两张图片(不是 3D 模型(在 200 Hz 屏幕上绘制立体图像(立体图像(。因此,重绘的速度集成非常重要。我使用 DirectDraw 表面及其 Flip(((将当前表面的图像切换到次要图像(取得了最佳结果:

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

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

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

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

请注意,DXGISwapChain1 是 DXGISwapChain 的一个子类,一些重要的方法(如 GetBuffer(位于基本接口中。