游戏开发论坛

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: wyxsz

关于多重纹理混合的问题

[复制链接]

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-7-7 14:00:00 | 显示全部楼层

Re:关于多重纹理混合的问题

先创建一个可渲染的纹理

IDirect3DTexture9* pRT;
IDirect3DDevice9::CreateTexture( 512, 512, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &pRT, NULL );
// 参数依次是 纹理宽度/高度/层数(MipLevels),作用必须为 D3DUSAGE_RENDERTARGET,后面是纹理格式,如果要支持透明的话,后面必须是D3DPOOL_DEFAULT

渲染的时候

// 设置渲染目标到纹理
IDirect3DSurface9* pOldSurface;
IDirect3DDevice9::GetRenderTarget( 0, &pOldSurface );

IDirect3DSurface9* pRTSurface;
pRT->GetSurfaceLevel( 0, &pRTSurface );
IDirect3DDevice9::SetRenderTarget( 0, pRTSurface );

IDirect3DDevice9::Clear( .... );
IDirect3DDevice9::BeginScene();

// 这里渲染你需要渲染到纹理上的内容
.....

// 渲染结束,恢复
IDirect3DDevice9::EndScene();
IDirect3DDevice9::SetRenderTarget( 0, pOldSurface );
pOldSurface->Release();
pRTSurface->Release();

// 开始正常的渲染
IDirect3DDevice9::BeginScene();
IDirect3DDevice9::Clear( ... );

// 这里就可以用 pRT 作为纹理了,也就是你混合好的结果

IDirect3DDevice9::EndScene();
IDirect3DDevice9:resent( ... );

7

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-7-7 15:50:00 | 显示全部楼层

Re: 关于多重纹理混合的问题

    过程我知道了,但是我还有两个问题,第一个是这段代码没有体现出很多层纹理该怎样渲染,就是说多层纹理是要用一个数组一次性全贴上去吗?如果是的话应该在那个步骤里面贴纹理呢?第二个问题就是这么多纹理的透明度怎么处理阿?麻烦你在帮我讲讲好吗?如果你有这方面的源代码的话能不能也给我发一个啊?我的邮箱号码是wyxsz0412@163.com.拜托你了!

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-7-9 22:11:00 | 显示全部楼层

Re:关于多重纹理混合的问题

不发油箱还有没有其他地方啊? 我做好了给你。

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2008-7-10 08:27:00 | 显示全部楼层

Re:关于多重纹理混合的问题

楼上果然热心,佩服。

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-7-10 14:27:00 | 显示全部楼层

Re: Re:关于多重纹理混合的问题

ricohcanon: Re:关于多重纹理混合的问题

楼上果然热心,佩服。


呵呵,很喜欢这里..遇到了拥有很多有共同想法的人.. 可以一起实现理想. 我也在这里受到很多帮助..

[em10]好像说了些奇怪的话.

7

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
 楼主| 发表于 2008-7-14 19:50:00 | 显示全部楼层

Re: 关于多重纹理混合的问题

     谢谢的多次指点,但是由于我是初学者,所以经过了这么多天的多次尝试之后我还是没有做成功。不知道你能不能把你做的传给我学习一下啊?另外,我给你发了一封短消息,请查收!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 23:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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