游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3147|回复: 9

问个Alpha混合的问题

[复制链接]

12

主题

82

帖子

93

积分

注册会员

Rank: 2

积分
93
发表于 2004-4-15 14:44:00 | 显示全部楼层 |阅读模式
公式是:
    R(C)=alpha*R(B)+(1-alpha)*R(A)
    G(C)=alpha*G(B)+(1-alpha)*G(A)
    B(C)=alpha*B(B)+(1-alpha)*B(A)
            

不过,我想知道原理是什么。
哪位高人指点一二?多谢了~

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-4-15 15:10:00 | 显示全部楼层

Re: 问个Alpha混合的问题

A与B混合

混合程度=
A的百分比+B的百分比(与A相反)

不知道这样说是否明白。。。 [em10]

12

主题

82

帖子

93

积分

注册会员

Rank: 2

积分
93
 楼主| 发表于 2004-4-15 15:16:00 | 显示全部楼层

Re:问个Alpha混合的问题

多谢~
不过我主要是不明白,A和B在C上各占一定百分比(好象一般两者所占百分比的和都为1啊),就能显示出透明的特效?
这是为什么呢?难道要从物理层面解释?
[em7]

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-4-15 16:41:00 | 显示全部楼层

Re:问个Alpha混合的问题

两者的比例相加为1,但是运算出的并不是原来的值了。就像那个分别买香蕉皮和肉的家伙一样。

12

主题

82

帖子

93

积分

注册会员

Rank: 2

积分
93
 楼主| 发表于 2004-4-15 16:58:00 | 显示全部楼层

Re:问个Alpha混合的问题

谢谢~
我知道不是原来的值。我只是不明白为什么这样可以显示出透明的特效。
原理是什么?

6

主题

34

帖子

36

积分

注册会员

Rank: 2

积分
36
QQ
发表于 2004-4-15 17:46:00 | 显示全部楼层

Re:问个Alpha混合的问题

有必要知道为什么么?你学E=mc2的时候是不是也要自己把这个公式推导出来??汗死了

6

主题

444

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2004-4-15 18:08:00 | 显示全部楼层

Re:问个Alpha混合的问题

如果从理论上讲,这个公式其实只是一个简化的模型而已。
假设一个平面物体1的透明度是alpha,颜色属性是diffuse,则漫反射成分是alpha*diffuse。而(1-alpha)*diffuse部分则透射了过去,眼睛接受不到。同理如果在该平面下有另一个物体2,颜色是color2,则该物体的光透过物体1的成分是diffuse*color2*(1-alpha)。所以物体1呈现的最终颜色应该是:
diffuse*(alpha+color2*(1-alpha))
公式中的颜色可以用任何一组正交颜色基来表示。各个成分的范围都是0-1,0代表没有该成分,1代表该成分最大。
你说的那个公式是把透射颜色属性成分假定为(1,1,1)这个其实是不合理的,日常的一个例子,如果你透过一个红色玻璃去看绿色物体,那么你将看到黑色,这个是色散原理,属于初中物理知识。正交颜色基表示这种关系就是使用相乘的方法,红色(1,0,0) mul 绿色(0,1,0)=黑色(0,0,0)
就是这么简单。

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
发表于 2004-4-15 23:13:00 | 显示全部楼层

Re:问个Alpha混合的问题


alpha=0到底是透明还是不透明啊????

12

主题

82

帖子

93

积分

注册会员

Rank: 2

积分
93
 楼主| 发表于 2004-4-16 17:00:00 | 显示全部楼层

Re: Re:问个Alpha混合的问题

hourousha: Re:问个Alpha混合的问题

如果从理论上讲,这个公式其实只是一个简化的模型而已。
假设一个平面物体1的透明度是alpha,颜色属性是di...

多谢指点!
我对那个公式的理解是,不是有两个前景物体透明的颜色和背景颜色混合产生新颜色,而是把前景物体本来不透明的颜色,通过这个公式产生新的颜色,使之有透明的效果,而这只是一种错觉,其实我们并没有看到背景颜色,只是看到了经改变的前景物体的颜色,好像是透明的而已。
像所说的透过一个红色玻璃去看绿色物体,那么你将看到黑色。和这个应该不太一样。
可能这个公式还真是像您所说的,是由diffuse*(alpha+color2*(1-alpha))推出来的,我又不明白的是,为什么“该物体的光透过物体1的成分是diffuse*color2*(1-alpha)。”
两个颜色混合,为什么正交颜色基表示这种关系就是使用相乘的方法?(不好意思,我太菜了,嘿嘿)希望不吝赐教,谢谢。
唉~其实我本来的问题,现在想清楚了,应该这样问,为什么我最初提的公式,得出来的前景颜色,会有透明的假象?这是什么原理?
呵呵~我这人虽说苯苯,不过喜欢打破沙锅问到底,知其然,还要知其所以然嘛!
谢谢各位高手的指教,不过问题我还是不清楚,希望继续指教。谢谢~~

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2004-4-16 23:33:00 | 显示全部楼层

Re:问个Alpha混合的问题

精神可嘉,支持!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 07:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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