[发明专利]多光源下的全局光照绘制方法及装置有效
申请号: | 201310632551.5 | 申请日: | 2013-11-29 |
公开(公告)号: | CN104658033A | 公开(公告)日: | 2015-05-27 |
发明(设计)人: | 王锐;鲍虎军;霍宇驰;周炯 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06T15/50 | 分类号: | G06T15/50 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 光源 全局 光照 绘制 方法 装置 | ||
技术领域
本发明涉及光照绘制领域,尤其涉及一种多光源下的全局光照绘制方法及装置。
背景技术
全局光照是常用的渲染技术,用于生成软影、间接折射等光照效果,以加强渲染效果的真实感。基于大量点光源(Many Point Lights)的方法是生成全局光照效果的技术之一,其原理是在场景中生成大量虚拟点光源(Virtual Point Light,VPL),通过分别计算各视角采样点(Sample)被这些虚拟点光源照亮的程度,来获得全局光照效果。Wald等人发明了基于大量点光源框架的光割(Lightcuts)方法,根据虚拟点光源建立层次结构树并使用层次结构树的一个割集代表所有虚拟点光源,以减少运算量和加快运算速度。随着光割方法的不断完善,大量点光源框架在实现全局光照方法中效率较高。但是由于现有的光割技术是一种全局方法,需要把所有点光源构建起统一的光树,并在上面进行光割的选取。在求取光割的过程中,每次计算割中节点的误差,还需要使用全局的几何数据进行求交运算。当进行大规模、高精度的场景绘制时,大量的虚拟点光源及几何数据都有可能超过了内存或者显存的限制,因而无法应用于外存(Out-of-core)复杂场景的绘制,无法构建全局的光树,以及进行全局求交运算。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何对包含若干个物体的大规模的场景进行全局光照绘制。
解决方案
为了解决上述技术问题,根据本发明的一实施例,第一方面,提供了一种多光源下的全局光照绘制方法,用于对包含若干个物体的场景进行全局光照绘制,所述物体由几何面片来描述,所述方法由具有内存并耦接至外存的系统来执行,所述方法包括:
对所述场景中的几何面片和虚拟点光源分别基于位置信息进行处理,得到第一数量的几何块以及第二数量的光源块;
以所述场景中的所有采样点为行坐标,以所有虚拟点光源为列坐标建立光传递矩阵;
将所述光传递矩阵划分为所述第二数量的列,每一列对应一个所述光源块,将所述光传递矩阵划分为第三数量的行,每一行与每一列相交构成为一个子矩阵,所述第三数量为所述采样点的聚类数量;
将所述子矩阵和几何块从所述外存调入到所述内存中,根据所述虚拟点光源的材质属性、衰减属性、可见性以及光强度,计算对应子矩阵中的虚拟点光源对采样点的亮度贡献值;
将可见性为可见的所述虚拟点光源对采样点的亮度贡献值累加到对应的采样点上,并输出所述采样点的总亮度。
结合第一方面,在第一种可能的实现方式中,所述对所述场景中的几何面片和虚拟点光源分别基于位置信息进行处理,得到第一数量的几何块以及第二数量的光源块,包括:
分别计算所述几何面片的重心和所述虚拟点光源的重心在x轴、y轴和z轴上的位置码,所述几何面片的重心构成所述几何面片的位置信息,所述虚拟点光源的重心构成所述虚拟点光源的位置信息;
根据所述几何面片重心的位置码计算第一莫顿码,根据所述虚拟点光源重心的位置码计算第二莫顿码;
根据所述第一莫顿码对所述几何面片进行排序和划分,得到第一顺序和第一数量的几何块,根据所述第二莫顿码对所述虚拟点光源进行排序和划分,得到第二顺序和第二数量的光源块。
结合第一方面,在第二种可能的实现方式中,所述将所述光传递矩阵划分为所述第二数量的列,每一列对应一个所述光源块,将所述光传递矩阵划分为第三数量的行,每一行与每一列相交构成为一个子矩阵之后,还包括:
将所述子矩阵中的所有所述虚拟点光源和采样点的连线包含在第一空间包围盒中,每一个子矩阵对应一个第一空间包围盒,
其中,所述第一空间包围盒包括两个球体及连接所述两个球体的侧面,一个球体为包含所述子矩阵中所有采样点的最小球体,另一个球体为包含所述子矩阵中所有虚拟点光源的最小球体,通过在所述两个球体上分别截取过球心并与所述两个球体的球心连线垂直的切面,将所得到的两个切面与所述两个球体相交的边分别连接构成所述侧面。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述将所述光传递矩阵划分为所述第二数量的列,每一列对应一个所述光源块,将所述光传递矩阵划分为第三数量的行,每一行与每一列相交构成为一个子矩阵之后,还包括:
将所述几何块的所有几何面片包含在第二空间包围盒中,每一个几何块对应一个第二空间包围盒,
其中,所述第二空间包围盒由包含所述几何块中所有几何面片的最小轴对齐长方体构成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;,未经华为技术有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310632551.5/2.html,转载请声明来源钻瓜专利网。