全局光照渲染器

来源:互联网 发布:javascript this 忽略 编辑:程序博客网 时间:2024/04/30 12:22

      游戏场景管理的实现差不多已经告一段落了,为了对场景管理的健壮性进行测试同时也为了对场景的效果进行更好的优化,决定在此前场景管理的基础上实现一个全局光照渲染器,然后将游戏场景添加全局光照的效果。当然,这个渲染器不仅实现为游戏场景添加全局光照效果的目的,同时也可以作为自己进一步学习并实现基于物理的渲染的一个基础。寒假在家时已经开始着手做了,现在已经有了初步的框架,并有了粗略的效果,在与其它项目同时进行的情况下,计划三月中上旬可以完成。

自己实现这个全局光照渲染器的大体框架如下:

1. 实现光线跟踪算法。

2. 实现几种典型的全局光照渲染算法。辐射度算法,蒙特卡洛算法等。

3. 渲染出的全局光照效果能方便地融入到游戏的场景中,且不影响之后的场景渲染的效率。

4. 针对不同渲染算法的表现侧重点,有机地将各种全局光照效果进行融合,使最终的整体效果更好。

5. 在实现的过程中,对此前的场景管理进行检测并改进。

 

渲染器的界面如下:

GIEditor UI

 

初步实现的全局光照效果:

GIEditor Scene0

 

GIEditor Scene1

 

上面用到的这些场景都是用之前搞定的场景编辑器来做的,现在使用起来感觉还挺好。在场景上加了全局光照效果之后看起来确实酷了不少,呵呵……

      同时,由于上面要实现的各种算法在执行时均是非常的慢,因此在完全实现之后也准备用GPU进行加速实现。对于GPU上的光线跟踪,之前在参加AMD加速竞赛时已经有过实现了,所以只需要将辐射度算法及蒙特卡洛算法在GPU上进行实现。

 

原创粉丝点击