预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106558092A(43)申请公布日2017.04.05(21)申请号201611021724.X(22)申请日2016.11.16(71)申请人北京航空航天大学地址100191北京市海淀区学院路37号(72)发明人王莉莉孟春雷李晓东赵琦(74)专利代理机构北京科迪生专利代理有限责任公司11251代理人杨学明顾炜(51)Int.Cl.G06T15/50(2011.01)权利要求书1页说明书6页附图4页(54)发明名称一种基于场景多方向体素化的多光源场景加速绘制方法(57)摘要本发明公开了一种基于场景多方向体素化的多光源场景加速绘制方法,主要针对含有大量动态点光源的静态场景及动态场景的实时渲染的研究和实现,该方法包括以下步骤:对场景进行多方向的体素化,并将体素化的结果保存的一个二维的体素化数组中,由相机的位置确定输出图像,记录输出图像每一个像素的方向、颜色和世界坐标,用GPU并行每一个像素,在GPU的每个线程中,计算每个光源与该像素的可见性,由光源位置和像素的位置确定光线,由光线在二维体素化数组中找到穿过的一列格子,由该列格子确定光线是否被遮挡。本方法借助GPU强大的计算能力,大大提高了渲染速度和效率。CN106558092ACN106558092A权利要求书1/1页1.一种基于场景多方向体素化的多光源场景加速绘制方法,其特征在于,该方法包括如下步骤:步骤(1)、求出场景的包围盒,设定体素化的角度增量k,从多个方向对场景进行体素化,将其保存在二维体素化数组V中;步骤(2)、确定相机的位置,由相机的位置渲染场景,得到输出图像,同时记录每个像素的位置、法向和颜色信息线;步骤(3)、确定每个灯的位置,GPU并行每个像素,计算其亮度值,GPU的每个线程处理一个像素;步骤(4)、在每个线程中,枚举每个灯,判断该灯对于该像素的可见性,由灯和像素的坐标确定一条光线,由光线的方向和中点确定其穿过的体素化的一列格子,根据这列格子中有无三角形面片确定该光线是否被遮挡,统计所有未遮挡的灯的个数,从而确定该点的亮度。2.根据权利要求1所述的基于场景多方向体素化的多光源场景加速绘制方法,其特征在于,步骤(1)具体包括:设定方向的角度增量k及包围盒的分辨率n,k确定出所有的方向,在显存中申请对应大小的缓存,从每个方向对场景进行一次体素化;体素化的时候从X,Y,Z每个方向利用opengl渲染管线渲染一次场景,在shader中利用得到的片元确定被占位的格子。3.根据权利要求1所述的基于场景多方向体素化的多光源场景加速绘制方法,其特征在于,步骤(2)具体包括:确定相机位置,渲染场景,得到输出图像,同时记录输出图像的每一个像素的位置、法向和颜色信息。4.根据权利要求1所述的基于场景多方向体素化的多光源场景加速绘制方法,其特征在于,步骤(3)具体包括:确定灯的位置,对于输出图像的每个像素,使用GPU并行计算每个像素的亮度,每个线程处理其中的一个像素。5.根据权利要求1所述的基于场景多方向体素化的多光源场景加速绘制方法,其特征在于,步骤(4)具体包括:在每个线程中,枚举每个灯,判断该灯对于该像素的可见性,由灯和像素的坐标确定一条光线,由光线的方向和中点确定其穿过的体素化的一列格子,根据这列格子中有无三角形面片确定该光线是否被遮挡,统计所有未遮挡的灯的个数,从而确定该点的亮度。2CN106558092A说明书1/6页一种基于场景多方向体素化的多光源场景加速绘制方法技术领域[0001]本发明属于实时渲染技术领域,具体涉及一种基于场景多方向体素化的多光源场景加速绘制方法。背景技术[0002]在计算机图形应用的很多场景中都会使用大量的动态光源,绘制含有多光源的复杂场景,对于增强图形的真实感沉浸感是一个非常重要的途径。在现有的图形硬件条件下,虽然已经可以实现对一些包含复杂几何模型的场景进行交互式的操作,但是对含有大量动态光源的场景进行绘制,速度还是比较慢,有待于提高。[0003]光照计算是一个耗时的工作,因为它涉及到了光线和场景的可见性计算。尽管图形处理器可以快速地绘制复杂的场景,但是如果对于上千个光源,使用暴力方法上千遍地绘制复杂的几何场景还是极其耗时的。[0004]阴影图方法是进行包含少量光源场景实时绘制的常用方法。阴影图是以光源位置为视点对几何场景进行绘制,从而得到场景的几何近似。它可以被GPU进行并行处理。然而,如果场景中的光源数较多,要为每个光源绘制一遍场景,生成对应的阴影图,时间开销过大。[0005]Ritscheletal.的论文中介绍了连贯阴影图,它由一些被压缩的深度图构成,这些深度图是预先从n个方向对场景进行绘制生成的,这里的n比光源的数量要小很多。在计算每条光线的可见度时,首先需