【技术实现步骤摘要】
利用虚拟点光源实现动画三维场景的全局光照绘制的方法
本专利技术属于三维动画绘制
,涉及一种利用虚拟点光源实现动画三维场景的全局光照绘制的方法。
技术介绍
目前三维动画在产品展示、广告、影视娱乐等行业得到广泛应用。为了提高三维动画画面的真实感,往往要求实现动画三维场景的全局光照绘制。全局光照可分解成直接光照和间接光照两部分。三维场景的直接光照绘制相对比较简单,已有不少成熟技术。实际上,三维场景的全局光照绘制的难点在于,如何高效地计算间接光照。对大多数动画三维场景来说,往往仅计算一次反射产生的间接光照贡献就可以绘制出真实感较强的画面。从光源发射一系列光线,在这些光线与三维场景对象相交的地方生成一系列虚拟点光源。用这些虚拟点光源照射三维场景即可模拟一次反射产生的间接光照贡献。与静态三维场景的绘制结果不同,动画三维场景的绘制结果由一系列连续的帧画面组成。在绘制动画三维场景时,如果连续帧画面之间固有的光照时间相关性得不到很好的保持,则最终的动画会出现画面闪烁现象,进而影响观众的视觉体验效果。当利用虚拟点光源实现动画三维场景的全局光照绘制时,如果某一个虚拟点光源在连续的 ...
【技术保护点】
利用虚拟点光源实现动画三维场景的全局光照绘制的方法,其特征在于,所需的数据结构以及实现步骤如下:本方法的目的在于提供一种利用虚拟点光源实现动画三维场景的全局光照绘制的方法;本方法的技术解决方案:将动画三维场景中的几何对象分为静态几何对象和动态几何对象,所有静态几何对象用一个场景图SSG来组织和管理,所有动态几何对象用一个场景图DSG来组织和管理;对光源的光照发射空间进行光线采样,即从光源位置向光源的光照发射空间中投射一系列光线,分别计算这些光线与场景图SSG和场景图DSG中的几何对象的交点;在这些交点处创建虚拟点光源来照射三维场景,通过计算这些虚拟点光源对三维场景点的直接光 ...
【技术特征摘要】
1.利用虚拟点光源实现动画三维场景的全局光照绘制的方法,其特征在于,所需的数据结构以及实现步骤如下:本方法的目的在于提供一种利用虚拟点光源实现动画三维场景的全局光照绘制的方法;本方法的技术解决方案:将动画三维场景中的几何对象分为静态几何对象和动态几何对象,所有静态几何对象用一个场景图SSG来组织和管理,所有动态几何对象用一个场景图DSG来组织和管理;对于包含一个聚光灯的三维场景,聚光灯的主光照出射方向平行于聚光灯的光锥的中轴线方向,在垂直于聚光灯的主光照出射方向的平面上,求出与聚光灯的光锥外切的正方形,在该正方形内产生一个N×N的均匀网格,从聚光灯的光锥顶点向各网格单元的中心点发射射线,只要网格单元的中心点在聚光灯的光锥内,与其对应的射线就是一条采样光线,分别计算这些光线与场景图SSG和场景图DSG中的几何对象的交点;在这些交点处创建虚拟点光源来照射三维场景,通过计算这些虚拟点光源对三维场景点的直接光照贡献来近似绘制主光源产生的间接光照;建立以光源位置为原点的局部坐标系COR,局部坐标系COR的z轴正方向取为光源的主光照出射方向,局部坐标系COR的x轴和y轴任意选取,只需保证局部坐标系COR的x轴、y轴、z轴两两正交即可;为了简化对从光源投射的光线的方向的描述,使用方位角和仰角来描述光线的方向;本方法首先提供一种数据结构DS,用于存储与虚拟点光源相关的数据;数据结构DS包括虚拟点光源的位置、虚拟点光源所在位置的法向量、虚拟点光源的发光强度、虚拟点光源的主光照出射方向、虚拟点光源类型、虚拟点光源所在几何对象表面的双向反射分布函数BRDF、与虚拟点光源相关联的光线的方位角、与虚拟点光源相关联的光线的仰角共八个成员变量;本方法的第一部分在计算机系统中计算三维场景中的光源A001的光照发射空间的采样光线与场景图SSG中的几何对象的交点,并在交点位置处创建虚拟点光源,具体步骤如下:Step101:令列表A002为空;令列表LVPLS为空;Step102:从光源A001所在位置向光源A001的光照发射空间投射一系列光线,并将这些光线存放在列表A002中;Step103:对列表A002中的每条光线A003,利用GPU并行计算设备并行地执行子步骤Step103-1至Step103-3:Step103-1:测试光线A003是否与场景图SSG中的几何对象相交,如果不相交,则转子步骤Step103-3;Step103-2:计算光线A003与场景图SSG中的几何对象之间的距光源A001最近的交点A004,创建一个数据结构DS类型的变量A005;将交点A004所在的位置赋值给变量A005的虚拟点光源的位置成员变量,将交点A004所在的位置的法向量赋值给变量A005的虚拟点光源所在位置的法向量成员变量,将交点A004所在几何对象的表面的双向反射分布函数BRDF赋值给变量A005的虚拟点光源所在几何对象表面的双向反射分布函数BRDF成员变量;如果交点A004所在几何对象的表面为漫反射面,则将变量A005的虚拟点光源类型成员变量赋值为“半球全向光源类型”,否则将变量A005的虚拟点光源类型成员变量赋值为“聚光灯类型”;将光线A003在局部坐标系COR中的方位角和仰角分别赋值给变量A005的与虚拟点光源相关联的光线的方位角和与虚拟点光源相关联的光线的仰角成员变量;根据光源A001的发光强度和位置、交点A004的位置、交点A004所在的位置的法向量、交点A004所在几何对象的表面的双向反射分布函数BRDF计算变量A005的虚拟点光源的发光强度成员变量的值;如果变量A005的虚拟点光源类型成员变量为“半球全向光源类型”,则将变量A005的虚拟点光源的主光照出射方向成员变量赋值为交点A004所在的位置的法向量,否则将变量A005的虚拟点光源的主光照出射方向成员变量赋值为光线A003在交点A004处发生理想镜面反射时的反射光线方向;将变量A005加入列表LVPLS中;Step103-3:针对光线A003的计算结束;本方法的第二部分逐帧地完成动画三维场景的全局光照绘制,具体步骤如下:Step201:令帧编号变量ID为1;Step202:令列表LVPLD为空;Step203:对本方法的第一部分中得到的列表A002中的每条光线A003,利用GPU并行计算设备并行地执行子步骤Step203-1至Step203-3:Step203-1:测试光线A003是否与场景图DSG中的几何对象相交,如果不相交,则转子步骤Step203-...
【专利技术属性】
技术研发人员:陈纯毅,杨华民,李岩芳,李华,蒋振刚,范静涛,韩成,曲福恒,
申请(专利权)人:长春理工大学,
类型:发明
国别省市:吉林;22
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。