游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1330|回复: 2

如何实到,把D3D Render的画面,截取?

[复制链接]

11

主题

43

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2006-5-12 10:29:00 | 显示全部楼层 |阅读模式
我现在想在显示所有场景之前,把要显示的内容取出来,并保存成bmp,应该访问哪个接口呀?

如:

hr = m_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,
                                  m_d3dcolorBackground, 1.0f, 0 );
hr = m_pd3dDevice->BeginScene();

m_font->DrawText(msg, 0,0, D3DCOLOR_XRGB(255,0,0) );//显示字体

//显示3D画面
hr = CalculateVertices();
hr = SetupMatrices();
hr = SetupLights();
hr = m_pd3dDevice->SetTexture( 0, m_pTexture1 );
hr = m_pd3dDevice->SetStreamSource( 0, m_pVB, 0, sizeof(CUSTOMVERTEX) );
hr = m_pd3dDevice->SetVertexShader( NULL );
hr = m_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
hr = m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 * g_nWaveN * g_nWaves -4 );

//显示2D画面
m_2d->Render();

m_pd3dDevice->EndScene();

.....

在EndScene后,我想得到上面所有场景合成后,要显示的内容,应该访问哪个缓冲区,或者接口?

谢谢!

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2006-5-12 11:16:00 | 显示全部楼层

Re:如何实到,把D3D Render的画面,截取?

渲染到一个大纹理上,然后读文理。
或者在创建背景缓冲时,指定可以锁定。直接读背景也可。

11

主题

43

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2006-5-12 12:36:00 | 显示全部楼层

Re:如何实到,把D3D Render的画面,截取?

谢谢hanma.已经实现.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 11:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表