首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

[DX9]怎么将后台缓冲拷贝到IDirect3DTexture9里?

2012-05-04 
[DX9]如何将后台缓冲拷贝到IDirect3DTexture9里??我用IDirect3DDevice9::GetBackBuffer()获取表面,这本身

[DX9]如何将后台缓冲拷贝到IDirect3DTexture9里??
我用IDirect3DDevice9::GetBackBuffer()获取表面,这本身没啥问题,但是由于我需要将他转到IDirect3DTexture9里面去,这就得需要LockRect这个后台表面,但是接着却发现,DX9在初始化设备的时候,必须带有D3DPRESENTFLAG_LOCKABLE_BACKBUFFER标志才能LockRect成功,而这个东西又会降低应用程序的性能,所以,就给难住了。

而我又不想用RTT来做,因为已经有了GetBackBuffer()了,
请问各位大侠,除了通过LockRect方式将表面像素拷贝到IDirect3DTexture9里面去,还有什么别的方法??

[解决办法]
哦,你这个慢也许是从显存往外取数据的时候慢..

我当时保存只有几毫秒,是因为我是先GetRenderTargetData,然后从offscreenSurfasce再保存成bmp...

热点排行