一种基于光能传播的实时全局光照方法技术

技术编号:18085166 阅读:43 留言:0更新日期:2018-05-31 13:32
一种基于光能传播的实时全局光照方法,包括以下步骤:对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理;计算场景的全局光照信息并且渲染到全局光照图,并使用所述全局光照图对场景进行光照叠加;使用叠加后的所述光照图对场景进行光照计算。本发明专利技术是一种基于光能传播的实时全局光照方法,能够提高场景明暗变化的层次感,能够实现光线反弹,提高实时光照质量,得到更为真实的光照效果。

【技术实现步骤摘要】
一种基于光能传播的实时全局光照方法
本专利技术涉及3D游戏
,特别是涉及一种基于光能传播的实时全局光照方法。
技术介绍
纵观目前市面上大部分的3D游戏,大多是使用的直接光照进行照明。对光照信息,整体加上一个固定的亮度值,也就是环境光的强度,用来调节场景的整体亮度。这种光照方式存在一下缺点:(1)由于对场景中的所有像素都是同样对待,统一加上一个亮度值,所以无法模拟出场景明暗变化的层次感。比如阳光从外面照射进很深的建筑里时,光线会慢慢衰减。但是直接光照无法做出这种效果。(2)无法实现颜色反弹的效果。比如阳光照射在靠近墙面的一块带颜色布料的时候,墙面的颜色应该受到布料颜色的影响。但是直接光照却无法实现这种效果。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种基于光能传播的实时全局光照方法,能够提高场景明暗变化的层次感,能够实现光线反弹,提高实时光照质量,得到更为真实的光照效果。为实现上述目的,本专利技术提供的基于光能传播的实时全局光照方法,包括以下步骤:对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;计算所述第一体积纹理的各像素格子的光照信息,并将其存储到本文档来自技高网...
一种基于光能传播的实时全局光照方法

【技术保护点】
一种基于光能传播的实时全局光照方法,其特征在于,包括以下步骤:对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理;计算场景的全局光照信息并且渲染到全局光照图,并使用所述全局光照图对场景进行光照叠加;使用叠加后的所述光照图对场景进行光照计算。

【技术特征摘要】
1.一种基于光能传播的实时全局光照方法,其特征在于,包括以下步骤:对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理;计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理;计算场景的全局光照信息并且渲染到全局光照图,并使用所述全局光照图对场景进行光照叠加;使用叠加后的所述光照图对场景进行光照计算。2.根据权利要求1所述的基于光能传播的实时全局光照方法,其特征在于,所述对场景进行预渲染,并构建用于存储场景颜色的第一体积纹理的步骤,进一步包括:从灯光的视角对游戏场景进行预渲染,获得当前场景颜色缓冲、法线缓冲和深度缓冲三个渲染目标;利用所述当前场景颜色缓冲、法线缓冲和深度缓冲构建用于存储场景颜色的第一体积纹理。3.根据权利要求1所述的基于光能传播的实时全局光照方法,其特征在于,所述计算所述第一体积纹理的各像素格子的光照信息,并将其存储到用于记录场景最终全局光照信息的第二体积纹理的步骤,进一步包括:确定当前点在所述第一体积纹理空间的坐标;计算当前点的颜色值并将其存储在所述第一体积纹理中相应的坐标位置;对于第一体积纹理中的每个像素格子,计算出周围所有像素格子的所有面对这个像素格子影响的权重;根据每个面的颜色与权重对每个像素格子进行光照计算,并将结果存储在所述第二体积纹理中。4.根据权利要求3所述的基于光能传播的实时全局光照方法,其特征在于,所述确定当前点在所述第一体积纹理空间的坐标的步骤,进一步包括:根据所述深度缓冲里的深度信息及屏幕空间的坐标确定当前点在所述第一体积纹理空间里的坐标。5.根据权利要求3所述的基于光能传播的实时全局光照方法,其特征在于,所述计算当前点的颜色值并将其存储在所述第一体积纹理中相应的坐标...

【专利技术属性】
技术研发人员:刘建国陆利民
申请(专利权)人:苏州蜗牛数字科技股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1