游戏开发论坛

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

请教关于纹理透明的问题

[复制链接]

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2007-5-13 20:29:00 | 显示全部楼层 |阅读模式
最近在做lens Flare方面,想将光晕纹理的背景变透明,为纹理添加ALPHA通道的方法已经实现了,另外在网上还看到一种“关键色”的方法,但没有成功,请帮忙看下,代码哪里错了

//载入纹理
D3DXCreateTextureFromFileEx(
                Device,
                "1.bmp",
                D3DX_DEFAULT,
                     D3DX_DEFAULT,
                     D3DX_DEFAULT,
                     0,
                     D3DFMT_UNKNOWN,
                     D3DPOOL_MANAGED,
                     D3DX_DEFAULT,
                     D3DX_DEFAULT,
                     D3DCOLOR_ARGB( 0, 0, 0, 0),    // 关键色为黑色(0,0,0)
                     NULL,
                     NULL,
                     &m_Texture)

//alpha test   
Device->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
Device->SetRenderState(D3DRS_ALPHAREF,0x00000001);
Device->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATER);

编译环境X9(April 2006) + VC.NET

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2007-5-13 20:46:00 | 显示全部楼层

Re:请教关于纹理透明的问题

D3DCOLOR_ARGB( 0, 0, 0, 0)   注意Alpha

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-5-13 23:01:00 | 显示全部楼层

Re: Re:请教关于纹理透明的问题

shenguhan: Re:请教关于纹理透明的问题

D3DCOLOR_ARGB( 0, 0, 0, 0)   注意Alpha


SDK上说“Alpha is significant and should usually be set to FF for opaque color keys. ”在上面的代码里,我想让黑色透明,所以将a设为0,不对么?能不能详细讲解下。。。谢了。

另外,AlphaReference值0x00000001 ,跟Alpha值怎么对应啊?
看书上说Alpha值为0.6f,等价于8位整数表示的0x99,这是怎么算的啊?
唉,基础不好,多多指教啦

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-5-13 23:52:00 | 显示全部楼层

Re:请教关于纹理透明的问题

设置ColorKey的时候Alpha值应该都是1吧,比如黑色应该是(1,0,0,0)=0xFF000000

另外,好像DDS格式的无法设置ColorKey。

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-5-13 23:54:00 | 显示全部楼层

Re: Re: Re:请教关于纹理透明的问题

xfxsworld: Re: Re:请教关于纹理透明的问题



另外,AlphaReference值0x00000001 ,跟Alpha值怎么对应啊?
看书上说Alpha值为0.6f,等价于8位整数表示的0x99,这是怎么算的啊?
唉,基础不好,多多指教啦


那个就是浮点和整数的转换嘛,

浮点表示颜色,1代表最大值,0代表最小值。
8位色深整数表示颜色,255表示最大值,0表示最小值。

0.6*255=153=0x99
明白了吧。

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-5-14 10:06:00 | 显示全部楼层

Re:请教关于纹理透明的问题

Thanks shenguhan,sandy_zc_1...明白啦~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 11:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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