游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2642|回复: 5

d3d 如何实现与texture某一个值做alpha

[复制链接]

52

主题

155

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2007-4-20 17:34:00 | 显示全部楼层 |阅读模式
d3d 如何实现与texture与某一个值做alpha?


pd3dDevice->SetRenderState( D3DRS_ALPHAREF, 120); 设置了也没用啊

52

主题

155

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2007-4-20 17:35:00 | 显示全部楼层

Re:d3d 如何实现与texture某一个值做alpha

        pd3dDevice->SetRenderState(D3DRS_LIGHTING, FALSE);       
        pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);

        pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
        pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA );       
        pd3dDevice->SetRenderState( D3DRS_ALPHAREF, 120);

        pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );
        pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );

        pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE );
        pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
        pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2007-4-20 18:31:00 | 显示全部楼层

Re:d3d 如何实现与texture某一个值做alpha

pd3dDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);

pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA );
//pd3dDevice->SetRenderState( D3DRS_ALPHAREF, 120);

pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );

pd3dDevice->SetRenderState(D3DRS_TEXTUREFACTOR,D3DCOLOR_ARGB(100,0,0,0));
               
pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);
pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);
pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2,D3DTA_TFACTOR);

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-21 10:35:00 | 显示全部楼层

Re:d3d 如何实现与texture某一个值做alpha

o

1

主题

51

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2007-4-29 21:47:00 | 显示全部楼层

Re:d3d 如何实现与texture某一个值做alpha

SetRenderState( D3DRS_TEXTUREFACTOR, 0xffffffff)

3

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-4-30 17:36:00 | 显示全部楼层

Re:d3d 如何实现与texture某一个值做alpha

1.使用CreateTextureFromFileEx
2.use code below
pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA );

pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );

代码记不清,好象是上面那样写的,第一点很重要
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 15:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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