渲染效果图如下:
室外场景由于是美术或者关卡设计人员用编辑器制作而成, 不太方便借用第三方软件来布置场景, 所以场景的阴影渲染只有图形程序员自己写, 简单的射线和模型数据求交的光线追踪来渲染阴影的算法, 前段时间已经实现完好了, 对于大多数的物体的阴影渲染, 一切都会很完美.
但对于下面这种情况, 简单的与模型数据求交, 就显示出其拙劣之处了.
上图对于模型数据而言就两个面, 根本没有你想象中栅栏那么复杂的结构, 一切诡计都是其使用了带Alpha通道的贴图造成的, 但是如果我们这样用模型数据求交的算法渲染的阴影, 并不能如你所想渲染出栅栏纹路的影子.
接下来我改进了阴影渲染算法, 如果用户打开了Alpha通道追踪的选项, 我将使用动态拍照的方法, 将Alpha在被两个距离狭小的裁减平面逼迫用一种设定的颜色显示出来.
下图是用此方法将透明处提取出来了, 将提取出来的部分显示为黄色.
下图为没有柔化的最终渲染结果.
这个是柔化度为1, 影子最大渲染距离为40, 影子亮度为0.5, 的渲染结果.
这个是柔化度为2, 影子最大渲染距离为100, 影子亮度为0.2, 的渲染结果.
www.azure.com.cn
评论Feed: http://www.azure.com.cn/feed.asp?q=comment&id=367
室外场景由于是美术或者关卡设计人员用编辑器制作而成, 不太方便借用第三方软件来布置场景, 所以场景的阴影渲染只有图形程序员自己写, 简单的射线和模型数据求交的光线追踪来渲染阴影的算法, 前段时间已经实现完好了, 对于大多数的物体的阴影渲染, 一切都会很完美.
但对于下面这种情况, 简单的与模型数据求交, 就显示出其拙劣之处了.
上图对于模型数据而言就两个面, 根本没有你想象中栅栏那么复杂的结构, 一切诡计都是其使用了带Alpha通道的贴图造成的, 但是如果我们这样用模型数据求交的算法渲染的阴影, 并不能如你所想渲染出栅栏纹路的影子.
接下来我改进了阴影渲染算法, 如果用户打开了Alpha通道追踪的选项, 我将使用动态拍照的方法, 将Alpha在被两个距离狭小的裁减平面逼迫用一种设定的颜色显示出来.
下图是用此方法将透明处提取出来了, 将提取出来的部分显示为黄色.
下图为没有柔化的最终渲染结果.
这个是柔化度为1, 影子最大渲染距离为40, 影子亮度为0.5, 的渲染结果.
这个是柔化度为2, 影子最大渲染距离为100, 影子亮度为0.2, 的渲染结果.
www.azure.com.cn
评论Feed: http://www.azure.com.cn/feed.asp?q=comment&id=367
浏览模式: 显示全部 |
评论: 3 |
引用: 0 | 排序 | 浏览: 3305
[ 2007-09-13 08:09:00 ]
能不能把相应的代码贴出来啊?
[ 2007-11-19 13:16:15 ]
请问您是不是使用逐象素Shader的方法?那么效率问题怎么解决的呢?
[ 2007-11-19 20:30:15 ]
这个是静态影子,不是实时渲染的哦。














