游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1940|回复: 8

请教问题:关于Alpha混合。

[复制链接]

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2006-8-2 22:22:00 | 显示全部楼层 |阅读模式
问题⒈是否能用渲染指令来做?
问题⒉是否能对颜色缓冲区操作?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-8-3 09:53:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

1.你的渲染指令指的是 PS? Alpha 混合不属于 PS 阶段,渲染管线在 PS 之后执行混合操作。
2.你指的是哪个颜色缓冲区。是纹理还是 FrameBuffer?

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-8-3 13:40:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

⒈PS之后怎样进行混合操作?问题是颜色和坐标从哪里取?
⒉不是纹理,书中提到 颜色缓冲区 ,未做什么解释,然后就没了。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-8-4 21:20:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

PS之前的光栅化过程就已经确定好了像素坐标,混合的Dest就是Render Target上对应像素的颜色
D3D中的FrameBuffer只用于最终显示到屏幕上,渲染结果是保存在Render Target中的

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-8-4 22:01:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

楼上,我不懂E文,用金山翻译了还是有点不理解:VS之后确定了像素坐标,这些坐标输出到哪里?颜色值输出到哪里?

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-8-5 10:46:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

像素坐标不会输出,是管线内部用于确定当前渲染像素在渲染目标(Render Target)上的位置
颜色值当然是内插后输出到PS了,VS中输出的oD0 oD1对应PS的v0 v1(SM3.0除外)

SDK文档里面有很详细的说明,LZ还是应该好好看看E文。。。怕是解决不了问题的

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-8-5 20:11:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

楼上能不能写个例子让我看看:一个不透明矩形和一个半透明的矩形,主要看Alpha混合的代码就可以了。

我主要不明白的地方是:绘制半透明物体时,半透明物体颜色*混合比例+背景颜色*混合比例,背景颜色从什么地方得到?(书上是说颜色缓冲区,只有理论,没有方法,所以~~~郁闷)

4

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2006-8-6 22:22:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

透明绘制半透明物体必须在一个底色上才能显示出透明效果,比如玻璃是透明的,你总得说透过玻璃能看到什么啊,不然怎么算是透明??背景颜色D3D里一般是颜色缓冲区里已经有的数据。

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2006-8-6 22:47:00 | 显示全部楼层

Re:请教问题:关于Alpha混合。

楼上,我现在的问题是:怎样取得颜色缓冲区里面的数据。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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