游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4309|回复: 12

求助 多重纹理混合问题

[复制链接]

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
发表于 2005-12-31 23:03:00 | 显示全部楼层 |阅读模式
VOID PerRenderhigh(LPDIRECT3DTEXTURE9 pTexture0,LPDIRECT3DTEXTURE9 pTexture1,D3DTEXTUREOP nMul0,D3DTEXTUREOP nMul1)
{
   
    g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET| D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 );
g_pd3dDevice->BeginScene() ;
   g_pd3dDevice->SetTexture( 0, pTexture0 );
        g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   nMul0 );
        g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
        g_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );
        if (pTexture1 != NULL)
        {
            g_pd3dDevice->SetTexture( 1, pTexture1 );
            g_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP,   nMul1 );
            g_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE );
            g_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT );
            g_pd3dDevice->SetTextureStageState( 1, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );
        }
        g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
        g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
        g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 2 );
    g_pd3dDevice->EndScene() ;   
         g_pd3dDevice-&gtresent( NULL, NULL, NULL, NULL );       
}

PerRenderhigh(g_pTexture_low,g_pTexture_high,D3DTOP_MODULATE,D3DTOP_ADD);

我想把两张纹理g_pTexture_low,g_pTexture_high的颜色相加,但是总是不对,g_pVB中顶点颜色为0xffffffff。

请问上述代码理论上是正确的吗? [em4] [em4] [em4]

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2005-12-31 23:08:00 | 显示全部楼层

Re: 求助 多重纹理混合问题

纹理1
sf_2005123123740.jpg

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2005-12-31 23:08:00 | 显示全部楼层

Re: 求助 多重纹理混合问题

纹理2
sf_2005123123827.jpg

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2005-12-31 23:10:00 | 显示全部楼层

Re: 求助 多重纹理混合问题

混合后的效果
sf_2005123123930.jpg

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2005-12-31 23:10:00 | 显示全部楼层

Re:求助 多重纹理混合问题

看来我真的该补习下固定管线了 = =!

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-1-1 14:34:00 | 显示全部楼层

Re:求助 多重纹理混合问题

你确定纹理 指针不为0?

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-1 23:17:00 | 显示全部楼层

Re:求助 多重纹理混合问题

确定不为null,注意观察混合后的效果,右边并不是黑色的,而是有一点点泛绿,说明2张纹理确实混合过,但是并不是我所期望的颜色相加。

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2006-1-3 09:08:00 | 显示全部楼层

Re:求助 多重纹理混合问题

dx8有 mfctex.exe这个程序,可以很方便的试验各种参数。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-1-3 18:23:00 | 显示全部楼层

Re:求助 多重纹理混合问题

你试试mulitpass。。。。

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-3 23:31:00 | 显示全部楼层

Re: 求助 多重纹理混合问题

呵呵 真是不好意思哈 原来是我的顶点中只有一层纹理座标   [em10] [em10] [em10]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 03:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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