游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4549|回复: 10

求助,关于DirectX透明效果

[复制链接]

7

主题

16

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2011-4-3 22:34:00 | 显示全部楼层 |阅读模式
问个问题,就是处理透明效果时,必须是先画背景然后再画物体,设置alpha混合才能实现透明效果,但是如果事先无法确定绘制顺序的情况下如何实现透明效果呢?

1

主题

76

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2011-4-4 00:00:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

延迟渲染,RT

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2011-4-4 10:11:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

必须知道

一开始不画,只是输出到一个列表里,然后排序。

7

主题

16

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2011-4-4 10:30:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

楼上的说清楚嘛,什么是延迟渲染?有没有例子啊

21

主题

296

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
发表于 2011-4-4 11:41:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

对每一个像素进行严格判定,应该可以吧?

对将要渲染的每个像素进行
先画背景,后画透明物:(SRC_ALPHA,ONE_MINUS_SRC_ALPHA)
先画透明物,后画背景:(ONE_MINUS_DST_ALPHA,DST_COLOR)

7

主题

16

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2011-4-4 12:20:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

关键是不确定谁先画谁后画

2

主题

18

帖子

18

积分

新手上路

Rank: 1

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

Re:求助,关于DirectX透明效果

DX11的新特性之一——"顺序无关透明化"

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2011-4-5 10:36:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

这里真是越来越不靠谱了,看到各种误导....

lz按三楼的方法去做吧

22

主题

98

帖子

98

积分

注册会员

Rank: 2

积分
98
QQ
发表于 2011-4-6 15:39:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

纯透明的话可以用alpha test,不用排序。半透明一般来说都需要排序。延迟alpha blend的话可以参见《GPU PRO》中的一篇文章。

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2011-4-7 11:23:00 | 显示全部楼层

Re:求助,关于DirectX透明效果

alpha test
test一个alpha值,设置好超过或者小于这个值的时候就显示透明,当然,边界上会比较毛,但与渲染顺序无关,而且不能做半透明效果,(真要做半透明,也可以加个post后处理)
个人做点看的出效果的东东的话,是用不起AlphaBlend的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 08:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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