本发明专利技术提供了一种体数据全局光照的光照信息缓存计算方法及系统,方法包括如下步骤:S1.计算切片轴;S2.在所述切片轴上对体数据进行切片并存储;具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;S3.计算每个切片的光照信息,并存储于纹理2D数组中;S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。本发明专利技术基于切片的光照衰减计算能够简化体积数据的全局光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。到达性能和效果上的可扩展性。到达性能和效果上的可扩展性。
【技术实现步骤摘要】
一种体数据全局光照的光照信息缓存计算方法及系统
[0001]本专利技术涉及体数据绘制
,尤其是涉及一种体数据全局光照的光照信息缓存计算方法及系统。
技术介绍
[0002]体数据绘制过程中增加光照计算能够获得更好的细节结构和深度感知效果。但体数据的光照计算通常是一个复杂且计算开销较大的过程,因为光照计算需要跟踪大量光线的传播并且涉及到与场景的交互。复杂的光照计算通常被简化为满足实时的光照计算。
[0003]基于切片的体绘制和基于光线投射的体绘制,是两类应用非常广泛的体绘制方法。基于切片的体绘制容易与光栅化多边形算法结合,只需要很少的绘制就能够提供实时交互能力而不降低绘制质量。基于光线投射的体绘制实现简单,绘制效果较好,是目前应用非常普遍的体绘制方法,但随着体数据量增大和采样计算复杂,计算开销也会急剧增大。为此,结合基于切片的体绘制和基于光线投射的体绘制,本专利技术提供了一种体数据全局光照的光照信息缓存计算方法及系统,用于体数据全局光照的计算。
技术实现思路
[0004]本专利技术提供一种体数据全局光照的光照信息缓存计算方法及系统,基于切片的光照衰减计算能够简化体积数据的全局光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。
[0005]本专利技术实施例的一方面公开了一种体数据全局光照的光照信息缓存计算方法,包括如下步骤:S1.计算切片轴;S2.在所述切片轴上对体数据进行切片并存储;具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;S3.计算每个切片的光照信息,并存储于纹理2D数组中;S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
[0006]在一些实施例中,在S1中,计算切片轴具体为:在三维空间中,以相机位置到体数据中心作为视点方向矢量,视点方向矢量与方向光源的光照方向矢量构成夹角,以夹角的角平分线方向作为切片轴方向矢量;当视点方向矢量与光照方向矢量基本相同,即夹角在0
°
到90
°
之间时,切片轴方向矢量计算方式为;当视点方向矢量与光照方向矢量基本相反,即夹角在90
°
到180
°
之间时,切片轴方向矢量计算方式为;
;其中,为视点方向矢量;为光源方向矢量;是和点乘的标量值;是切片轴方向矢量。
[0007]在一些实施例中,在S2中,对体数据体素的通道数作如下定义:一个体素可以由1、2、3或4个通道组成,1个通道仅表示亮度,2个通道表示亮度和ALPHA值,3个通道表示三原色,4个通道表示带ALPHA值的三原色。
[0008]在一些实施例中,在S2中,对体数据体素的通道字节数作如下定义:各通道由不同的字节数表示,各通道由1、2或4个字节数组成,通道字节数为1个字节位表示成USNIGNED_BYTE,通道字节数为2个字节位表示成UNSIGNED_BYTE,通道字节数为4个字节位表示成UNSIGNED_INT。
[0009]在一些实施例中,在S2中,在切片轴上对体数据切片并存储在3D纹理中,处理过程如下:S21.基于S1计算得到的切片轴方向矢量;S22.在所述切片轴上,计算单位立方体离视点的最小距离与最大距离,通过切片轴方向矢量与单位立方体各顶点的点乘来计算;S23.以一定步长,以最小距离到最大距离为切片向量的垂直面与单位立方体的所有边求交,得到交点参数λ;S24.通过交点参数λ计算各切片的交点,并产生三角形图元。
[0010]在一些实施例中,在S3中,通过纹理2D数组来保存任意可伸缩的几何体切片光照信息,通过从帧缓冲区读取绘制图像并将其存储到纹理2D数组中;首先以光源作为视点,逐切片绘制体数据的整个几何体切片的光照信息到光照信息缓存,每个切片的光照亮度是以到光源的距离按比例衰减及体数据光学特性综合计算,并且根据混合函数逐切片计算每个体素衰减后的光照亮度,混合公式如下:;式中,和是由传递函数分配给采样点的颜色和不透明度;不透明度近似吸收,同时沿光线方向采点和之间的采样段,不透明度加权颜色近似发射和吸收;对于颜色分量,总和的乘积表示采样点在到达眼睛之前衰减后的发射光总量;通过沿视线方向对采样点排序并迭代计算累积颜色和不透明度有效地计算体积光照,是切片数量。
[0011]在一些实施例中,在S4中,基于光照信息缓存计算每个采样点的光照衰减信息,需要查找每个采样点具体在光照信息缓存中的切片位置和计算所在切片的采样位置,通过比
例法计算切片所在纹理2D数组中的索引:;其中,是切片数量,是光源方向,是采样点的世界位置,是单位立方体顶点与光源方向向量点乘的最小距离和最大距离。
[0012]在一些实施例中,在S4中,切片的采样位置通过坐标空间变换计算,采样坐标是对象空间顶点位置与阴影矩阵相乘的矩阵变,按照下式进行:;其中,为位置坐标,为对象空间顶点位置;和分别是光源作为视点的投影矩阵和视点矩阵;和分别是相机作为视点的模型视图矩阵和视点矩阵逆矩阵。
[0013]本专利技术实施例的另一方面公开了一种体数据全局光照的光照信息缓存计算系统,包括:切片轴计算模块,用于计算切片轴;切片模块,用于在所述切片轴上对体数据进行切片并存储;具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;光照信息计算模块,用于计算每个切片的光照信息,并存储于纹理2D数组中;采样计算模块,用于在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
[0014]在一些实施例中,体数据全局光照的光照信息缓存计算系统还包括:处理器,分别与所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块连接;存储器,与所述处理器连接,并存储有可在所述处理器上运行的计算机程序;其中,当所述处理器执行所述计算机程序时,控制所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块工作,以实现体数据全局光照的光照信息缓存计算方法。
[0015]综上所述,本专利技术至少具有以下有益效果:本专利技术的体数据全局光照的光照信息缓存计算方法是一种可伸缩的计算方法。通过使用本专利技术的方法能够针对基于切片的光照衰减计算的可扩展性和基于高效的光线投射算法来共同产生更好的全局光照效果。这得益于以光源作为视点能够获得整个几何体切片的光照衰减信息来计算一个体积内的光线传播过程,能够简化体积数据的光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。
[0016]该方法能够随着相机或光源的位置或方向改变,通过改变切片的距离和每个切片的图像分辨率进行切片光照信息的存储,能够为全局光照的计算提供性能上的可扩展性;通过逐切片计算光照信息,并且缓存切片光照信息,能够正确计算光照的发射和吸收,表达准确的体绘制光照效果。
[0017]本专利技术可以适用于基于切片体绘制、光线投射体绘制或两者结合的体绘制全局光照的计算中,具有可扩展性的绘制性能和更好的全局光照效果。
本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种体数据全局光照的光照信息缓存计算方法,其特征在于,包括如下步骤:S1.计算切片轴;S2.在所述切片轴上对体数据进行切片并存储;具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;S3.计算每个切片的光照信息,并存储于纹理2D数组中;S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。2.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S1中,计算切片轴具体为:在三维空间中,以相机位置到体数据中心作为视点方向矢量,视点方向矢量与方向光源的光照方向矢量构成夹角,以夹角的角平分线方向作为切片轴方向矢量;当视点方向矢量与光照方向矢量基本相同,即夹角在0
°
到90
°
之间时,切片轴方向矢量计算方式为;当视点方向矢量与光照方向矢量基本相反,即夹角在90
°
到180
°
之间时,切片轴方向矢量计算方式为;;其中,为视点方向矢量;为光源方向矢量;是和点乘的标量值;是切片轴方向矢量。3.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S2中,对体数据体素的通道数作如下定义:一个体素可以由1、2、3或4个通道组成,1个通道仅表示亮度,2个通道表示亮度和ALPHA值,3个通道表示三原色,4个通道表示带ALPHA值的三原色。4.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S2中,对体数据体素的通道字节数作如下定义:各通道由不同的字节数表示,各通道由1、2或4个字节数组成,通道字节数为1个字节位表示成USNIGNED_BYTE,通道字节数为2个字节位表示成UNSIGNED_BYTE,通道字节数为4个字节位表示成UNSIGNED_INT。5.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S2中,在切片轴上对体数据切片并存储在3D纹理中,处理过程如下:S21.基于S1计算得到的切片轴方向矢量;S22.在所述切片轴上,计算单位立方体离视点的最小距离与最大距离,通过切片轴方向矢量与单位立方体各顶点的点乘来计算;S23.以一定步长,以最小距离到最大距离为切片向量的垂直面与单位立方体的所有边求交,得到交点参数λ;
S24.通过交点参数λ计算各切片的交点,并产生三角形图元。6.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S3...
【专利技术属性】
技术研发人员:罗德宁,张葛祥,杨强,郭德权,刘启虞,王伟,邓丁山,何进,
申请(专利权)人:成都信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。