[发明专利]一种基于光能传播的实时全局光照方法在审
申请号: | 201711430069.8 | 申请日: | 2017-12-26 |
公开(公告)号: | CN108090949A | 公开(公告)日: | 2018-05-29 |
发明(设计)人: | 刘建国;陆利民 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | G06T15/50 | 分类号: | G06T15/50;G06T15/04;A63F13/52 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 全局光照 场景 纹理 光能 叠加 光照 传播 渲染 存储场景 光照计算 光照效果 光照信息 明暗变化 层次感 光照图 格子 构建 像素 存储 反弹 记录 | ||
一种基于光能传播的实时全局光照方法,包括以下步骤:对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理;计算场景的全局光照信息并且渲染到全局光照图,并使用所述全局光照图对场景进行光照叠加;使用叠加后的所述光照图对场景进行光照计算。本发明是一种基于光能传播的实时全局光照方法,能够提高场景明暗变化的层次感,能够实现光线反弹,提高实时光照质量,得到更为真实的光照效果。
技术领域
本发明涉及3D游戏技术领域,特别是涉及一种基于光能传播的实时全局光照方法。
背景技术
纵观目前市面上大部分的3D游戏,大多是使用的直接光照进行照明。对光照信息,整体加上一个固定的亮度值,也就是环境光的强度, 用来调节场景的整体亮度。这种光照方式存在一下缺点:(1)由于对场景中的所有像素都是同样对待,统一加上一个亮度值,所以无法模拟出场景明暗变化的层次感。比如阳光从外面照射进很深的建筑里时,光线会慢慢衰减。但是直接光照无法做出这种效果。(2)无法实现颜色反弹的效果。比如阳光照射在靠近墙面的一块带颜色布料的时候,墙面的颜色应该受到布料颜色的影响。但是直接光照却无法实现这种效果。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于光能传播的实时全局光照方法,能够提高场景明暗变化的层次感,能够实现光线反弹,提高实时光照质量,得到更为真实的光照效果。
为实现上述目的,本发明提供的基于光能传播的实时全局光照方法,包括以下步骤:
对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;
计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理;
计算场景的全局光照信息并且渲染到全局光照图,并使用所述全局光照图对场景进行光照叠加 ;
使用叠加后的所述光照图对场景进行光照计算。
进一步地,所述对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理的步骤,进一步包括:
从灯光的视角对游戏场景进行预渲染,获得当前场景颜色缓冲、法线缓冲和深度缓冲三个渲染目标;
利用所述当前场景颜色缓冲、法线缓冲和深度缓冲构建用于存储场景颜色的第一体积纹理。
进一步地,所述计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理的步骤,进一步包括:
确定当前点在所述第一体积纹理空间的坐标;
计算当前点的颜色值并将其存储在所述第一体积纹理中相应的坐标位置;
对于第一体积纹理中的每个像素格子,计算出周围所有像素格子的所有面对这个像素格子影响的权重;
根据每个面的颜色与权重对每个像素格子进行光照计算,并将其存储在所述第二体积纹理中。
进一步地,所述确定当前点在所述第一体积纹理空间的坐标的步骤,进一步包括:
根据所述深度缓冲里的深度信息及屏幕空间的坐标确定当前点在所述第一体积纹理空间里的坐标。
进一步地,所述计算当前点的颜色值并将其存储在所述第一体积纹理中相应的坐标位置的步骤,进一步包括:
在所述颜色缓冲和所述法线缓冲中获取当前点的颜色信息和法线信息;
根据所述法线信息计算球谐系数;
通过在每个颜色值通道乘上相应的所述球谐系数来得到球谐变换后的颜色值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711430069.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于饰品的字体变化处理方法及装置
- 下一篇:一种优化围棋图像高光污染的方法