游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1768|回复: 4

多重纹理的问题

[复制链接]

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2007-8-24 21:44:00 | 显示全部楼层 |阅读模式
给地形贴单纹理正常,今天又给地形加了一层纹理后发现,场景中的模型,天空都混合上了第2层纹理。
以下是纹理混合的代码:
_g_pd3dDevice->SetTexture(0,_g_pTexture1);
_g_pd3dDevice ->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
_g_pd3dDevice ->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
_g_pd3dDevice ->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
//_g_pd3dDevice ->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE);
               
//纹理采样属性,此处设为 “线形纹理过滤(Linear Texture Filtering)”
_g_pd3dDevice -> SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
_g_pd3dDevice -> SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);

//重叠纹理寻址
_g_pd3dDevice -> SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);
_g_pd3dDevice -> SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);

_g_pd3dDevice -> SetTexture( 1, _g_pTexture2 );

_g_pd3dDevice ->SetTextureStageState( 1,D3DTSS_TEXCOORDINDEX,0);//共用纹理坐标
_g_pd3dDevice ->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE );
_g_pd3dDevice ->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE );
_g_pd3dDevice ->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT );
//_g_pd3dDevice ->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_DISABLE);

//纹理采样属性,此处设为 “线形纹理过滤(Linear Texture Filtering)”
_g_pd3dDevice -> SetSamplerState(1, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
_g_pd3dDevice -> SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);

//重叠纹理寻址
_g_pd3dDevice -> SetSamplerState(1, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP);
_g_pd3dDevice -> SetSamplerState(1, D3DSAMP_ADDRESSV, D3DTADDRESS_WRAP);

请帮忙看下怎么回事。或者帮忙想下问题可能出在哪里。THANKS!

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2007-8-24 22:31:00 | 显示全部楼层

Re:多重纹理的问题

作完事之后清理下现场。

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-8-25 14:41:00 | 显示全部楼层

Re:多重纹理的问题

绘制另外的东西时,请关闭前面设置的某些后面不需要的状态。记得善后。

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-8-25 18:54:00 | 显示全部楼层

Re:多重纹理的问题

具体该怎么弄啊。。。

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-8-25 19:29:00 | 显示全部楼层

Re:多重纹理的问题

OK了
在最后加上这句_g_pd3dDevice -> SetTexture( 1, NULL ); 把纹理层1给关了就好了。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-5 03:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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