游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4636|回复: 7

IDirect3DSurface9接口对象用在何处???

[复制链接]

6

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
QQ
发表于 2007-10-17 20:18:00 | 显示全部楼层 |阅读模式
在D3D中,ID3DXSprite接口可以实现DirectDraw的部分功能,但装载图片的载体是IDirect3DTexture9对象,而不是IDirect3DSurface9接口对象.
为什么不是表面(IDirect3DSurface9)?
IDirect3DSurface9接口会在什么地方得到使用呢??

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-10-17 23:25:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

有些对象或场景可以直接render到IDirect3DSurface9上去,进而还可以转换成Texture贴到别的模型上去
而Texture不方便直接去实现这样的功能

比如环境贴图,阴影计算,都需要用到IDirect3DSurface9 的功能

0

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-10-19 09:27:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

我的理解:

IDirect3DSurface9* m_pTarget;
IDirect3DSurface9* m_pBufferSurfSrc;//离屏表面
FUNC_DX_HR(m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &m_pTarget));
FUNC_DX_HR(m_pd3dDevice->StretchRect(m_pBufferSurfSrc,
        &m_rcBufferSurfNow, m_pTarget, NULL, D3DTEXF_NONE));
// Show the frame on the primary surface.
hr = m_pd3dDevice-&gtresent( NULL, NULL, NULL, NULL );
if( D3DERR_DEVICELOST == hr ) {
m_bDeviceLost = true;
hr = S_OK;
}

36

主题

109

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2007-10-19 12:09:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

不知道谁对DX中的表面做个总结

6

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
QQ
 楼主| 发表于 2007-10-19 12:34:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

多谢tonikee和xxvq.
tonikee所说的就是实时纹理贴图吧? 我只听说过这个名词,不知道机理.
xxvq的代码是把D3D设备的后台表面伸缩后再提交.
看来D3D中的表面完全不是DirectDraw中的表面了.DirectDraw中,可以将两个表面内的象素数据经blt合并成一个表面.
D3D中没有这个功能.

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-10-19 13:10:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

好像已经没有DirectDraw了,象是现在绘制2D都用ID3DXSprite了吧,你要的效果用混合似乎不难实现啊,2d方面的东西研究不多。lz可以去找些这方面的资料

2

主题

41

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2007-10-19 22:29:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

等你用到renderTarget你就知道surface是干什么用的了~

0

主题

34

帖子

46

积分

注册会员

Rank: 2

积分
46
QQ
发表于 2007-10-20 15:46:00 | 显示全部楼层

Re:IDirect3DSurface9接口对象用在何处???

LZ可以看看SDK里的POST PROCESS例子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-20 03:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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