最近,我想学习一本名为Tricks of 3D Games Programming Gurus的书。它使用DDraw来实现一个软渲染引擎。但是DDraw已经老了。我想用Direct3D11来做同样的事情。所以我得到了主backbuffer的纹理,并更新它。但它不起作用,我该怎么办?
答案 0 :(得分:1)
即使在现代平台上使用DirectDraw,您也无法直接访问真正的前缓冲区/后备缓冲区。
如果你想在不使用GPU的情况下将所有渲染渲染到CPU内存块中,那么快速演示的最佳选择是使用带有D3D11_USAGE_DYNAMIC
的Direct3D 11纹理,然后执行简单的完整 - 屏幕四重渲染的那个纹理到演示文稿后台。对于该步骤,您可以查看DirectX Tool Kit和SpriteBatch
类。
也就是说,性能方面可能相当差,因为你在CPU上做了所有事情,而GPU在99%的时间里基本上什么都不做。