最近,我想学习一本书,名为“3D游戏编程的技巧”( Tricks of 3D Games Programming Gurus.It ),它用DDraw实现了一个软渲染的engine.But DDraw to old.I。我想用Direct3D11来做我得到的主后台缓冲区的纹理相同的things.So,并更新没有工作的it.But,我该怎么办?
发布于 2016-01-18 19:25:00
即使在现代平台上使用DirectDraw,您也无法直接访问真正的frontbuffer/backbuffer。
如果您想在不使用GPU的情况下将您的所有渲染都呈现到一个CPU内存中,那么快速表示的最佳选择是使用Direct3D 11纹理和D3D11_USAGE_DYNAMIC
,然后在演示文稿缓冲区上对该纹理进行一个简单的全屏四重渲染。对于这个步骤,您可以查看DirectX工具包和SpriteBatch
类。
也就是说,就性能而言,这可能会非常糟糕,因为您正在CPU上做所有事情,而GPU基本上在99%的时间内什么都不做。
https://stackoverflow.com/questions/34846653
复制相似问题