游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2165|回复: 3

关于透明材质的渲染次序问题

[复制链接]

10

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2008-8-31 12:07:00 | 显示全部楼层 |阅读模式
渲染透明材质一定要“先渲染后面的再渲染前面”吗?
如果两块玻璃相交要怎么渲染?

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
发表于 2008-8-31 14:40:00 | 显示全部楼层

Re:关于透明材质的渲染次序问题

如果一个模型被建成两个透明的玻璃相交,那么这个美工就很失败。
如果两块玻璃相交,那么就把它拆分成4块玻璃。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2008-8-31 16:31:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

1

主题

51

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2008-9-2 08:52:00 | 显示全部楼层

Re:关于透明材质的渲染次序问题

如果仅仅是两块玻璃相交,是能正确绘制的。但是,如果是无序的相交,在D3D或OGL现在的绘制管道上,必然无法正确绘制。如果不是特别在意正确性,而只是减少由于半透明带来的背景问题,可以这样绘制:
first:
ZFunc = Greator;
SrcBlend = InvDestAlpha;
DestBlend = DestAlpha;

second:
ZFunc = LessEqul;
SrcBlend = SrcAlpha;
DestBlend = InvSrcAlpha;

当然,rendertarget需要有alpha。如A8R8G8B8。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 11:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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