我正在构建一个应用程序,正在绘制一个200 Hz屏幕上的浮雕(立体图像)基于两个提供的图片(而不是3D模型)。因此重绘的速度和完整性是非常重要的。我已经用DirectDraw表面和他们的翻转()(将当前表面的图像切换为二级图像)获得了最好的结果:
(void) lpddsPrimary->Flip(nullptr, DDFLIP_WAIT);但是DirectDraw已经非常过时了,我正在寻找一种基于现代DirectX库重新实现此功能的方法。但是我真的不想创建一个四边形,根据它的纹理绘制图片,计算3D投影矩阵来输出2D图像。
对于如何使用DirectX实现这一点的任何片段,我将非常感谢。提前谢谢。
发布于 2012-03-28 18:09:12
出于您的目的,您可以使用DXGI并完全避免D3D。您没有说明如何将数据放入后台缓冲区,但DXGI允许您创建一个交换链,翻转它(当前),并访问表面(例如,锁定它们-它称为Map now)。对于3D,你需要"1“版本,例如DXGISwapChain1。参见http://msdn.microsoft.com/en-us/library/windows/desktop/bb205075(v=vs.85).aspx。
请注意,DXGISwapChain1是DXGISwapChain的子类,一些重要的方法(如GetBuffer )位于基接口中。
https://stackoverflow.com/questions/9904979
复制相似问题