[发明专利]一种计算机三维模型中全局光照的渲染方法有效
| 申请号: | 201410669508.0 | 申请日: | 2014-11-20 |
| 公开(公告)号: | CN104361624A | 公开(公告)日: | 2015-02-18 |
| 发明(设计)人: | 蓝自立;董昭;郭延文 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06T15/50 | 分类号: | G06T15/50 |
| 代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
| 地址: | 210023 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 计算机 三维 模型 全局 光照 渲染 方法 | ||
技术领域
本发明涉及到一种计算机三维模型中全局光照的渲染方法,属于计算机图形学等领域。
背景技术
近年来,计算机技术飞速发展,而应用于现代娱乐生活的游戏,电影中的图形学也是高速发展。在电影中,离线渲染技术中的全局光照渲染已经可以制造出以假乱真的效果。全局光照计算是计算机图形学中一个核心的组成部分,它的任务是使预先组织好的三维场景生成完全真实感的图像。为了达到这一目的,我们必须模拟光线在场景中进行传播时所发生的各种物理现象,如相互的反射,焦散,阴影等。这不但需要我们对整个场景中的各个物体的材质以及几何特性等有一个正确的描述,还需要我们对由于多次反射和折射所带来的一个无穷维的积分进行求解。由于全局光照的数学模型过于复杂,在巨大的计算量面前,算法的时间成本很难降下来。为了提高渲染算法效率,降低时间成本,很多全局光照算法被提出来。
在实际应用中,当前传统的方法是使用基于点的全局光照算法或者路径跟踪一类的算法,基于点的全局光照能够很快速地处理漫反射场景,但是对于镜面,透明面的场景没有很好的处理方法;另一方面,路径跟踪(包括双向路径跟踪)一系列的方法能很好地处理镜面,透明面等各种材质,但其算法效率比较低。
发明内容
发明目的:本发明所要解决的技术问题是针对现有方法效率的不足,提供一种更为高效的计算机三维模型中全局光照的渲染方法。
技术方案:本发明公开了一种计算机三维模型中全局光照的渲染方法,该方法的特征在于能够在较短的时间内对一个给定的三维场景绘制出具有真实感的图像,并且能够在最终结果出来之前多次看到其计算的中间结果,以便更好地调节渲染参数。具体包括以下步骤:
1.加载模型:读入三维模型场景的点坐标,三角形序列,点的法向量,点的纹理;用kd-tree(k-dimensional树的简称,是一种分割k维数据空间的数据结构)对三维模型场景空间进行划分,并将三角面存放于kd-tree中,同时从与该三维模型场景对应的材质文件中读入材质属性;
步骤1-1,加载模型文件:读入三维模型场景文件,获取点坐标v,点法向量vn,点纹理vt,三角形f,以及材质对应项(描述对应于材质文件中的材质名称);其中点坐标v和点法向量vn是一个三维向量,代表点在空间的位置,点纹理vt是一个二维向量,代表该点的纹理在纹理贴图中的坐标,三角形f是一个三维向量,包含了一个三角面中三个点的信息;
步骤1-2,加载材质文件:加载与步骤1-1中的三维模型场景对应的材质文件,读取每个面所用材质属性,包括漫反射系数,镜面反射系数,透明度以及纹理路径;
步骤1-3,计算包围盒:首先计算出整个模型空间的最大范围,用一个轴对齐的长方体将整个模型包围起来。这个长方体的计算公式如下:
Xmax=max{v0x,v1x,…vnx},Xmin=min{v0x,v1x,…vnx},
Ymax=max{v0y,v1y,…vny},Ymin=min{v0y,v1y,…vny},
Zmax=max{v0z,v1z,…vnz},Zmin=min{v0z,v1z,…vnz}.
其中长方体在x,y,z方向上的坐标为X,Y,Z,而Xmax和Xmin分别代表长方体在x方向上的最大值和最小值,Ymax和Ymin分别代表长方体在y轴方向上的最大值和最小值,Zmax和Zmin分别代表长方体在z轴方向上的最大值和最小值。vix,viy,viz分别表示点集v中第i的点的x,y,z坐标,其中i=0,1,……,n,(n是点集v所包含的点的数量)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410669508.0/2.html,转载请声明来源钻瓜专利网。





