游戏开发论坛

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

关于半透明的新问题!

[复制链接]

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-8-5 12:18:00 | 显示全部楼层 |阅读模式
比如一个带贴图的矩形,用了一张带Alpha通道的贴图,显示了一个五角星。那么怎么再让这个五角星也半透明一下?

不知道大家有没有明白我的意思呀

65

主题

225

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
发表于 2004-8-5 12:38:00 | 显示全部楼层

Re:关于半透明的新问题!

如果你的矩形的FVF中有D3DFVF_NORMAL,则可以使用D3DMATERIAL9来进行半透明渲染,当然,世界中要有全局光照。
如果你的矩形的FVF中有D3DFVF_DIFFUSE,则可以利用顶点颜色来进行半透明渲染。

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
 楼主| 发表于 2004-8-5 13:19:00 | 显示全部楼层

Re:关于半透明的新问题!

如果是第2种,renderstate和texturestagestate怎么设置?

65

主题

225

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
发表于 2004-8-5 15:15:00 | 显示全部楼层

Re:关于半透明的新问题!

pd3dDevice->SetRenderState( D3DRS_DITHERENABLE,                TRUE );
                pd3dDevice->SetRenderState( D3DRS_ZENABLE,                        TRUE );
                pd3dDevice->SetRenderState( D3DRS_CULLMODE,                        D3DCULL_CCW );
                pd3dDevice->SetRenderState( D3DRS_AMBIENT,                        0x33333333 );
                pd3dDevice->SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
                pd3dDevice->SetRenderState( D3DRS_SRCBLEND,                        D3DBLEND_SRCALPHA);
                pd3dDevice->SetRenderState( D3DRS_DESTBLEND,                D3DBLEND_INVSRCALPHA);
                pd3dDevice->SetRenderState(D3DRS_ALPHAREF, (DWORD)0x00000002);
                pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
                pd3dDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);

6

主题

582

帖子

582

积分

高级会员

Rank: 4

积分
582
发表于 2004-8-11 05:00:00 | 显示全部楼层

Re:关于半透明的新问题!

另一个简单的方法,打开PS,分别对底图和五角星图作修改,设置他们不同的透明度就可以搞定啦.记得要存为TGA或是PNG格式啊.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-16 13:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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