请教个关于opengl/directx获取显存图像数据的问题(分数多多送完为止)

道亦无名
博客专家认证
2017-01-14 04:51:29
请教个关于opengl/directx获取显存图像数据的问题。
1、据说可以这样搞setrendertarget 输出到surface,或者直接lock back buffer了访问。
后面不知道到咋搞了?
2、从前台缓冲区取数据是这样
extern IDirect3DDevice9* g_pd3dDevice;
Void CaptureScreen()
{
IDirect3DSurface9 * pSurface;
g_pd3dDeviceàCreateImageSurface(ScreenWidth,ScreenHeight,
D3DFMT_A8R8G8B8,&pSurface);
g_pd3dDevice->GetFrontBuffer(pSurface);
D3DXSaveSurfaceToFile("Desktop.bmp",D3DXIFF_BMP,pSurface,
NULL,NULL);
pSurface->Release();
}

不知道从后台backbuffer怎么取数据?有没有大神可以交流一下,分享一下经验。GetFrontBuffer是一个比较慢的操作,设计就是如此,所以在效率很关键的程序中应避免使用。
有经验的朋友希望能够传授小弟一点经验如何使用GetBackBuffer和交换链获取显存后台数据的方法或者途径。
...全文
516 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,868

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧