游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6357|回复: 13

可Alpha穿透的阴影渲染系统, 终于搞定了.

[复制链接]

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-9-11 20:04:00 | 显示全部楼层 |阅读模式
原文看此
http://www.azure.com.cn/article.asp?id=367

渲染效果图如下:



室外场景由于是美术或者关卡设计人员用编辑器制作而成, 不太方便借用第三方软件来布置场景, 所以场景的阴影渲染只有图形程序员自己写, 简单的射线和模型数据求交的光线追踪来渲染阴影的算法, 前段时间已经实现完好了, 对于大多数的物体的阴影渲染, 一切都会很完美.

但对于下面这种情况, 简单的与模型数据求交, 就显示出其拙劣之处了



上图对于模型数据而言就两个面, 根本没有你想象中栅栏那么复杂的结构, 一切诡计都是其使用了带Alpha通道的贴图造成的, 但是如果我们这样用模型数据求交的算法渲染的阴影, 并不能如你所想渲染出栅栏纹路的影子.

接下来我改进了阴影渲染算法, 如果用户打开了Alpha通道追踪的选项, 我将使用动态拍照的方法, 将Alpha在被两个距离狭小的裁减平面逼迫用一种设定的颜色显示出来.

下图是用此方法将透明处提取出来了, 将提取出来的部分显示为黄色.



下图为没有柔化的最终渲染结果.



这个是柔化度为1, 影子最大渲染距离为40, 影子亮度为0.5, 的渲染结果.



这个是柔化度为2, 影子最大渲染距离为100, 影子亮度为0.2, 的渲染结果.





www.azure.com.cn

1

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2007-9-11 21:30:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

顶一个.

1

主题

36

帖子

1442

积分

金牌会员

Rank: 6Rank: 6

积分
1442
发表于 2007-9-12 10:20:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

不错啊,顶~!

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-9-12 16:05:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

楼主能把实现的思路共享一下吗?思路是最可贵的。

17

主题

42

帖子

48

积分

注册会员

Rank: 2

积分
48
QQ
发表于 2007-9-13 09:25:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

AlphaTest的ShadowMap还是AlphaBlend?

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2007-9-13 09:28:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

影子是否会随投影物体而变形?


18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-9-13 09:36:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

静态的阴影生成吧

26

主题

178

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2007-9-13 11:05:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

用shadow map的? alpha的效果???能自?语@示在生成的?影上

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
 楼主| 发表于 2007-9-13 20:11:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

此技术并非实时渲染,
只是用来静态生成整个室外场景的阴影,
由于现在可以穿透ALPHA通道了,
再也不用先用高模的树渲染影子后,再把树换成低摸了,

光的缝隙也非常精确吻合了.

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2007-9-14 13:02:00 | 显示全部楼层

Re:可Alpha穿透的阴影渲染系统, 终于搞定了.

做raytrace的时候,如果caster带alpha的话,结合shadowmap就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-15 04:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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