游戏开发论坛

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

0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

[复制链接]

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
发表于 2012-10-13 16:41:00 | 显示全部楼层 |阅读模式
其中:
0x01FFFFFF是背景色
0x7FFF00FF是要混合的像素

如果按照混合公式计算alpha的话,应该是: 1-(1-127)*127/255=63,即0x3F
显然,这个结果是不对的.

这个问题的产生背景:
在半透明不规则窗口中,初始背景色是0x00000000,即是完全透明的,那么如果有个像素是0x7F000000,那么混合结果应该是0x7F000000,而不是0x3F000000,

我觉得应该取两者alpha的最大值,而不能用混合公式计算,
各位觉得呢?

100

主题

596

帖子

708

积分

高级会员

Rank: 4

积分
708
发表于 2012-10-13 19:32:00 | 显示全部楼层

Re:0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

碉堡了,这个还真不知到。没有不透明的底色,这个还真求不出来好像。公式只能用来计算RGB通道的值,而计算的alpha结果必须是0xFF.如果没有一个不透明背景,则alpha混合无法进行吧。

100

主题

596

帖子

708

积分

高级会员

Rank: 4

积分
708
发表于 2012-10-13 19:36:00 | 显示全部楼层

Re:0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

这里给出了一个公式
http://blog.csdn.net/richardbao2000/article/details/2682018

考虑不透明度,就能求出来了。

50

主题

236

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
 楼主| 发表于 2012-10-13 20:04:00 | 显示全部楼层

Re: Re:0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

tkminigame: Re:0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

这里给出了一个公式
http://blog.csdn.net/richardbao2000/article/details/2682018

考虑不透明度,就能求出来了。


恩谢谢。
但是上面给出的公式太复杂了,不太可行,
我觉得,可以把两个alpha简单的相加.然后使其不超过255

6

主题

74

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2012-10-19 14:41:00 | 显示全部楼层

Re:0x01FFFFFF和0x7FFF00FF混合后的结果alpha是多少?

要看是texture blend还是alpha blend.

texture blend因为是多层的,alpha值有用,d3d固定管线里面可以单独设置每次混合后的alpha和color算法。

alpha blend一般用不到dest alpha,没研究过
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-27 13:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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