游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1918|回复: 3

Alpha测试

[复制链接]

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2010-9-2 12:42:00 | 显示全部楼层 |阅读模式
m_pDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
//作用让颜色值小于0x0000001的点不显示,但却不成功!!!
m_pDevice->SetRenderState(D3DRS_ALPHAREF, 0x00000001);//这里应该填我要屏蔽的颜色值,还是屏蔽的alpha的值
m_pDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATER);
//如果我要屏蔽一张jpg图片里的黑色应该怎么做,如果使要屏蔽alpha的值,我如何知道图片中黑色区域的alpha的值

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2010-9-2 13:31:00 | 显示全部楼层

Re:Alpha测试

还有就是Alpha测试必须和D3DXCreateTextureFromFileEx函数,因为可以在关键色中设置其Alpha值,然后在根据这个Alpha值来测试。这样理解对吗?

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-9-3 00:25:00 | 显示全部楼层

Re:Alpha测试

ALPHATEST只是比较alpha值(与参考值做比较)与颜色无关吧。
想让某种颜色不显示,那就将其alpha值设置为你需要的值。
用不用D3DXCreateTextureFromFileEx函数无所谓,你也可以手动更改像素的alpha值。

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2010-9-5 22:11:00 | 显示全部楼层

Re:Alpha测试

alphatest就是个渣,固定管线遗留之产物,如果使用shader就别用它了,ps里面clip像素可以取而代之
特别到了dx10已经全面废除了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-18 19:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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