CN115984444A - 一种体数据全局光照的光照信息缓存计算方法及系统 - Google Patents
一种体数据全局光照的光照信息缓存计算方法及系统 Download PDFInfo
- Publication number
- CN115984444A CN115984444A CN202310273466.8A CN202310273466A CN115984444A CN 115984444 A CN115984444 A CN 115984444A CN 202310273466 A CN202310273466 A CN 202310273466A CN 115984444 A CN115984444 A CN 115984444A
- Authority
- CN
- China
- Prior art keywords
- illumination
- slice
- volume data
- slicing
- illumination information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Image Generation (AREA)
Abstract
本发明提供了一种体数据全局光照的光照信息缓存计算方法及系统,方法包括如下步骤:S1.计算切片轴;S2.在所述切片轴上对体数据进行切片并存储;具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;S3.计算每个切片的光照信息,并存储于纹理2D数组中;S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。本发明基于切片的光照衰减计算能够简化体积数据的全局光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。
Description
技术领域
本发明涉及体数据绘制技术领域,尤其是涉及一种体数据全局光照的光照信息缓存计算方法及系统。
背景技术
体数据绘制过程中增加光照计算能够获得更好的细节结构和深度感知效果。但体数据的光照计算通常是一个复杂且计算开销较大的过程,因为光照计算需要跟踪大量光线的传播并且涉及到与场景的交互。复杂的光照计算通常被简化为满足实时的光照计算。
基于切片的体绘制和基于光线投射的体绘制,是两类应用非常广泛的体绘制方法。基于切片的体绘制容易与光栅化多边形算法结合,只需要很少的绘制就能够提供实时交互能力而不降低绘制质量。基于光线投射的体绘制实现简单,绘制效果较好,是目前应用非常普遍的体绘制方法,但随着体数据量增大和采样计算复杂,计算开销也会急剧增大。为此,结合基于切片的体绘制和基于光线投射的体绘制,本发明提供了一种体数据全局光照的光照信息缓存计算方法及系统,用于体数据全局光照的计算。
发明内容
本发明提供一种体数据全局光照的光照信息缓存计算方法及系统,基于切片的光照衰减计算能够简化体积数据的全局光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。
本发明实施例的一方面公开了一种体数据全局光照的光照信息缓存计算方法,包括如下步骤:
S1.计算切片轴;
S2.在所述切片轴上对体数据进行切片并存储;
具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;
S3.计算每个切片的光照信息,并存储于纹理2D数组中;
S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
在一些实施例中,在S1中,计算切片轴具体为:
在三维空间中,以相机位置到体数据中心作为视点方向矢量,视点方向矢量与方向光源的光照方向矢量构成夹角,以夹角的角平分线方向作为切片轴方向矢量;
当视点方向矢量与光照方向矢量基本相同,即夹角在0°到90°之间时,切片轴方向矢量计算方式为;
当视点方向矢量与光照方向矢量基本相反,即夹角在90°到180°之间时,切片轴方向矢量计算方式为;
;
其中,为视点方向矢量;为光源方向矢量;是和点乘的标量值;是切片轴方向矢量。
在一些实施例中,在S2中,对体数据体素的通道数作如下定义:
一个体素可以由1、2、3或4个通道组成,1个通道仅表示亮度,2个通道表示亮度和ALPHA值,3个通道表示三原色,4个通道表示带ALPHA值的三原色。
在一些实施例中,在S2中,对体数据体素的通道字节数作如下定义:
各通道由不同的字节数表示,各通道由1、2或4个字节数组成,通道字节数为1个字节位表示成USNIGNED_BYTE,通道字节数为2个字节位表示成UNSIGNED_BYTE,通道字节数为4个字节位表示成UNSIGNED_INT。
在一些实施例中,在S2中,在切片轴上对体数据切片并存储在3D纹理中,处理过程如下:
S21.基于S1计算得到的切片轴方向矢量;
S22.在所述切片轴上,计算单位立方体离视点的最小距离与最大距离,通过切片轴方向矢量与单位立方体各顶点的点乘来计算;
S23.以一定步长,以最小距离到最大距离为切片向量的垂直面与单位立方体的所有边求交,得到交点参数λ;
S24.通过交点参数λ计算各切片的交点,并产生三角形图元。
在一些实施例中,在S3中,通过纹理2D数组来保存任意可伸缩的几何体切片光照信息,通过从帧缓冲区读取绘制图像并将其存储到纹理2D数组中;
首先以光源作为视点,逐切片绘制体数据的整个几何体切片的光照信息到光照信息缓存,每个切片的光照亮度是以到光源的距离按比例衰减及体数据光学特性综合计算,并且根据混合函数逐切片计算每个体素衰减后的光照亮度,混合公式如下:
;
式中,和是由传递函数分配给采样点的颜色和不透明度;不透明度近似吸收,同时沿光线方向采点和之间的采样段,不透明度加权颜色近似发射和吸收;对于颜色分量,总和的乘积表示采样点在到达眼睛之前衰减后的发射光总量;通过沿视线方向对采样点排序并迭代计算累积颜色和不透明度有效地计算体积光照,是切片数量。
在一些实施例中,在S4中,基于光照信息缓存计算每个采样点的光照衰减信息,需要查找每个采样点具体在光照信息缓存中的切片位置和计算所在切片的采样位置,通过比例法计算切片所在纹理2D数组中的索引:;
其中,是切片数量,是光源方向,是采样点的世界位置,是单位立方体顶点与光源方向向量点乘的最小距离和最大距离。
在一些实施例中,在S4中,切片的采样位置通过坐标空间变换计算,采样坐标是对象空间顶点位置与阴影矩阵相乘的矩阵变,按照下式进行:;
其中,为位置坐标,为对象空间顶点位置;和分别是光源作为视点的投影矩阵和视点矩阵;和分别是相机作为视点的模型视图矩阵和视点矩阵逆矩阵。
本发明实施例的另一方面公开了一种体数据全局光照的光照信息缓存计算系统,包括:
切片轴计算模块,用于计算切片轴;
切片模块,用于在所述切片轴上对体数据进行切片并存储;
具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;
光照信息计算模块,用于计算每个切片的光照信息,并存储于纹理2D数组中;
采样计算模块,用于在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
在一些实施例中,体数据全局光照的光照信息缓存计算系统还包括:
处理器,分别与所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块连接;
存储器,与所述处理器连接,并存储有可在所述处理器上运行的计算机程序;其中,当所述处理器执行所述计算机程序时,控制所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块工作,以实现体数据全局光照的光照信息缓存计算方法。
综上所述,本发明至少具有以下有益效果:
本发明的体数据全局光照的光照信息缓存计算方法是一种可伸缩的计算方法。通过使用本发明的方法能够针对基于切片的光照衰减计算的可扩展性和基于高效的光线投射算法来共同产生更好的全局光照效果。这得益于以光源作为视点能够获得整个几何体切片的光照衰减信息来计算一个体积内的光线传播过程,能够简化体积数据的光照计算过程,同时可以通过改变切片的距离和每个切片的图像分辨率获得灵活的性能,到达性能和效果上的可扩展性。
该方法能够随着相机或光源的位置或方向改变,通过改变切片的距离和每个切片的图像分辨率进行切片光照信息的存储,能够为全局光照的计算提供性能上的可扩展性;通过逐切片计算光照信息,并且缓存切片光照信息,能够正确计算光照的发射和吸收,表达准确的体绘制光照效果。
本发明可以适用于基于切片体绘制、光线投射体绘制或两者结合的体绘制全局光照的计算中,具有可扩展性的绘制性能和更好的全局光照效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中所涉及的体数据全局光照的光照信息缓存计算方法的步骤示意图。
图2为本发明中所涉及的计算切片轴的示意图。
图3为本发明中所涉及的单位立方体切片的示意图。
图4为本发明中所涉及的光照缓冲计算的示意图。
图5为本发明中所涉及的光照缓存中计算采样的示意图。
图6为本发明中所涉及的体数据全局光照的光照信息缓存计算系统的模块示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明实施例的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
下文的公开提供了许多不同的实施方式或例子用来实现本发明实施例的不同结构。为了简化本发明实施例的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明实施例。此外,本发明实施例可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
下面结合附图对本发明的实施例进行详细说明。
如图1所示,本发明实施例的一方面公开了一种体数据全局光照的光照信息缓存计算方法,包括如下步骤:
S1.计算切片轴。
在一些实施例中,在S1中,如图2所示,计算切片轴具体为:
在三维空间中,以相机位置到体数据中心作为视点方向矢量,视点方向矢量与方向光源的光照方向矢量构成夹角,以夹角的角平分线方向作为切片轴方向矢量;
当视点方向矢量与光照方向矢量基本相同,即夹角在0°到90°之间时,切片轴方向矢量计算方式为;
当视点方向矢量与光照方向矢量基本相反,即夹角在90°到180°之间时,切片轴方向矢量计算方式为;
(1)
其中,为视点方向矢量;为光源方向矢量;是和点乘的标量值;是切片轴方向。
在交互过程中,相机或光源根据需要会改变位置或方向,因此根据公式(1),切片轴方向也会随之改变。
S2.在所述切片轴上对体数据进行切片并存储;
具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中。
体数据一般由个体素构成,即在三维空间、、轴上分别有、、个体素,常用DICOM、.MHD、.raw、.dds等格式存储。同时,体素可以由三维空间位置和属性值组成,即。以读取体数据.raw格式为例,将体数据切片并存储于3D纹理中。
在一些实施例中,在S2中,对体数据体素的通道数(表1)作如下定义:
一个体素可以由1、2、3或4个通道组成,1个通道仅表示亮度(LUMINANCE),2个通道表示亮度和ALPHA值(LUMINANCE_ALPHA),3个通道表示三原色(RGB),4个通道表示带ALPHA值的三原色(RGBA)。
在一些实施例中,在S2中,对体数据体素的通道字节数(表2)作如下定义:
各通道由不同的字节数表示,各通道由1、2或4个字节数组成,通道字节数为1个字节位(uint8)表示成USNIGNED_BYTE,通道字节数为2个字节位(uint16)表示成UNSIGNED_BYTE,通道字节数为4个字节位(uint32)表示成UNSIGNED_INT。
一个体素大小为,通道字节位u的体数据格式可表达成Name__u.raw。例如,亮度值表示的foot_256x256x256_uint8.raw体数据,由个体素构成,定义3D纹理的宽高深度分别为256、256、256,像素格式为LUMINANCE,一个字节大小,类型为UNSINGED_BYTE。
在一些实施例中,在S2中,在切片轴上对体数据切片并存储在3D纹理中,处理过程如下:
S21.根据公式(1)计算得到的切片轴方向矢量;
S22.在所述切片轴上,计算单位立方体(单位长度为1)离视点的最小距离与最大距离,通过切片轴方向矢量与单位立方体各顶点的点乘来计算;
8个顶点组成的单位立方体,其数组大小定义为A,首先设定与的大小都等于第一个顶点A与切片轴方向矢量的点乘,即*A,依次将剩余的顶点与切片轴方向矢量的点乘*A与和比较,大于则更新,小于则跟新,直到所有顶点比较完成,从而计算得到最小与最大距离。
S23.以一定步长,以最近到最远为切片向量的垂直面与单位立方体的所有边求交,得到交点参数λ;
其中,针对各顶点在视点前的单位立方体的8条边定义二维数组为:
int edgeList[8][12]=
{{ 0,1,5,6, 4,8,11,9, 3,7,2,10 },
{ 0,4,3,11, 1,2,6,7, 5,9,8,10 },
{ 1,5,0,8, 2,3,7,4, 6,10,9,11},
{ 7,11,10,8, 2,6,1,9, 3,0,4,5 },
{ 8,5,9,1, 11,10,7,6, 4,3,0,2 },
{ 9,6,10,2, 8,11,4,7, 5,0,1,3 },
{ 9,8,5,4, 6,1,2,0, 10,7,11,3},
{ 10,9,6,5, 7,2,3,1, 11,4,8,0 }};
S24.通过交点参数λ计算各切片的交点,并产生三角形图元。
例如计算得到的6个交点,以(0,1,2), (0,2,3), (0,3,4), (0,4,5)索引构建一个三角扇形,从而得到切片的一个几何体。
通过以上几步的计算,能够从几何体数据中得到几何体切片,如图3所示,从而存储到3D纹理中。在交互过程中,随着切片轴的改变,需要根据新的切片轴重新构建几何体切片。
S3.计算每个切片的光照信息,并存储于纹理2D数组中。
在一些实施例中,在S3中,通过纹理2D数组来保存任意可伸缩的几何体切片光照信息,通过从帧缓冲区读取绘制图像并将其存储到纹理2D数组中,其中,纹理2D数组的大小与切片的数量一致,能够存储每一个切片的光照信息。
首先以光源作为视点,逐切片绘制体数据的整个几何体切片的光照信息到光照信息缓存,每个切片的光照亮度是以到光源的距离按比例衰减及体数据光学特性综合计算,并且根据混合函数逐切片计算每个体素衰减后的光照亮度,混合公式如公式(2);
(2)
式中,和是由传递函数分配给采样点的颜色和不透明度;不透明度近似吸收,同时沿光线方向采点和之间的采样段,不透明度加权颜色近似发射和吸收;对于颜色分量,总和的乘积表示采样点在到达眼睛之前衰减后的发射光总量;通过沿视线方向对采样点排序并迭代计算累积颜色和不透明度有效地计算体积光照,是切片数量。
图4(a)是逐切片构建光照信息缓存,其主要思想是在光源作为视点下将体积数据的整个几何切片的光照亮度绘制到光照缓存,并逐切片累积光照衰减。对于光照衰减,切片的光照亮度在光源方向成比例衰减,如图4(b),第二层的切片是第一层切片的混合光照强度。
S4.在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
对于光线投射中的每个采样点,体数据的主要颜色容易得到。问题是如何利用前面得到的光照信息缓存确定每个采样点的光照衰减信息,这就需要查找每个采样点具体在光照信息缓存中的切片位置,同时还需要计算所在切片的采样位置。采样点的切片位置由采样点与光源的距离计算,这和构建光照信息缓存的几何体切片过程一致。如图5所示,光线投射的采样点定位于一个切片上,是单位立方体顶点与光源方向向量点乘的最小值和最大值距离。因此,可以通过比例法计算切片所在纹理2D数组中的索引,如公式(3)。光线投射过程中的采样点数量越多,体数据的三维形态越精细,但会导致绘制开销增大。
切片的采样位置通过坐标空间变换计算,采样坐标是对象空间顶点位置与阴影矩阵相乘的矩阵变换,如公式(4)。然后在纹理2D数组中通过采样位置和切片索引查找相应光照缓存的衰减颜色,衰减颜色作为采样点上的体积阴影因子与切片颜色进行混合,从而可以用于体数据全局光照的计算。
在一些实施例中,在S4中,基于光照信息缓存计算每个采样点的光照衰减信息,需要查找每个采样点具体在光照信息缓存中的切片位置和计算所在切片的采样位置,通过比例法计算切片所在纹理2D数组中的索引,如公式(3);
(3)
其中,是切片数量,是光源方向,是采样点的世界位置,是单位立方体顶点与光源方向向量点乘的最小距离和最大距离。
在一些实施例中,在S4中,切片的采样位置通过坐标空间变换计算,采样坐标是对象空间顶点位置与阴影矩阵相乘的矩阵变,按照公式(4)进行;
(4)
其中,为位置坐标,为对象空间顶点位置;和分别是光源作为视点的投影矩阵和视点矩阵;和分别是相机作为视点的模型视图矩阵和视点矩阵逆矩阵。
如图6所示,本发明实施例的另一方面公开了一种体数据全局光照的光照信息缓存计算系统,包括:
切片轴计算模块,用于计算切片轴;
切片模块,用于在所述切片轴上对体数据进行切片并存储;
具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;
光照信息计算模块,用于计算每个切片的光照信息,并存储于纹理2D数组中;
采样计算模块,用于在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
在一些实施例中,体数据全局光照的光照信息缓存计算系统还包括:
处理器,分别与所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块连接;
存储器,与所述处理器连接,并存储有可在所述处理器上运行的计算机程序;其中,当所述处理器执行所述计算机程序时,控制所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块工作,以实现体数据全局光照的光照信息缓存计算方法。
以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。
由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所述实施例意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例有关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本申请的各个方面可以完全由硬件实施、可以完全由软件(包括固件、常驻软件、微代码等)实施、也可以由硬件和软件组合实施。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等的面向对象程序设计语言、如C程序设计语言、VisualBasic、Fortran2103、Perl、COBOL2102、PHP、ABAP的常规程序化程序设计语言、如Python、Ruby和Groovy的动态程序设计语言或其它程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,并不仅限于披露的实施例,相反,实施例覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所申明的客体需要比实施例明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
Claims (10)
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中,通过纹理2D数组来保存任意可伸缩的几何体切片光照信息,通过从帧缓冲区读取绘制图像并将其存储到纹理2D数组中;
首先以光源作为视点,逐切片绘制体数据的整个几何体切片的光照信息到光照信息缓存,每个切片的光照亮度是以到光源的距离按比例衰减及体数据光学特性综合计算,并且根据混合函数逐切片计算每个体素衰减后的光照亮度,混合公式如下:
;
式中,和是由传递函数分配给采样点的颜色和不透明度;不透明度近似吸收,同时沿光线方向采点和之间的采样段,不透明度加权颜色近似发射和吸收;对于颜色分量,总和的乘积表示采样点在到达眼睛之前衰减后的发射光总量;通过沿视线方向对采样点排序并迭代计算累积颜色和不透明度有效地计算体积光照,是切片数量。
7.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S4中,基于光照信息缓存计算每个采样点的光照衰减信息,需要查找每个采样点具体在光照信息缓存中的切片位置和计算所在切片的采样位置,通过比例法计算切片所在纹理2D数组中的索引: ;
其中,是切片数量,是光源方向,是采样点的世界位置,是单位立方体顶点与光源方向向量点乘的最小距离和最大距离。
8.根据权利要求1所述的体数据全局光照的光照信息缓存计算方法,其特征在于,在S4中,切片的采样位置通过坐标空间变换计算,采样坐标是对象空间顶点位置与阴影矩阵相乘的矩阵变,按照下式进行:;
其中,为位置坐标,为对象空间顶点位置;和分别是光源作为视点的投影矩阵和视点矩阵;和分别是相机作为视点的模型视图矩阵和视点矩阵逆矩阵。
9.一种体数据全局光照的光照信息缓存计算系统,其特征在于,包括:
切片轴计算模块,用于计算切片轴;
切片模块,用于在所述切片轴上对体数据进行切片并存储;
具体为:首先读取体数据,然后在所述切片轴方向上进行切片,并将各切片存储于3D纹理中;
光照信息计算模块,用于计算每个切片的光照信息,并存储于纹理2D数组中;
采样计算模块,用于在光照信息缓存中计算采样,并将计算结果用于体数据全局光照的计算。
10.根据权利要求9所述的体数据全局光照的光照信息缓存计算系统,其特征在于,还包括:处理器,分别与所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块连接;
存储器,与所述处理器连接,并存储有可在所述处理器上运行的计算机程序;其中,当所述处理器执行所述计算机程序时,控制所述切片轴计算模块、切片模块、光照信息计算模块和采样计算模块工作,以实现权利要求1至8中任一项所述的体数据全局光照的光照信息缓存计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310273466.8A CN115984444A (zh) | 2023-03-21 | 2023-03-21 | 一种体数据全局光照的光照信息缓存计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310273466.8A CN115984444A (zh) | 2023-03-21 | 2023-03-21 | 一种体数据全局光照的光照信息缓存计算方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115984444A true CN115984444A (zh) | 2023-04-18 |
Family
ID=85976496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310273466.8A Pending CN115984444A (zh) | 2023-03-21 | 2023-03-21 | 一种体数据全局光照的光照信息缓存计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115984444A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005104042A1 (en) * | 2004-04-20 | 2005-11-03 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-gpu acceleration for real-time volume rendering on standard pc |
CN105574923A (zh) * | 2015-12-28 | 2016-05-11 | 西北工业大学 | 基于延迟与体粒子的电磁态势混合渲染方法 |
CN108090949A (zh) * | 2017-12-26 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种基于光能传播的实时全局光照方法 |
CN114219902A (zh) * | 2021-07-22 | 2022-03-22 | 江苏及象生态环境研究院有限公司 | 气象数据的体绘制渲染方法、装置和计算机设备 |
CN114299220A (zh) * | 2021-11-19 | 2022-04-08 | 腾讯科技(成都)有限公司 | 光照贴图的数据生成方法、装置、设备、介质及程序产品 |
CN114820967A (zh) * | 2022-04-28 | 2022-07-29 | 四川见山科技有限责任公司 | 一种分层影像数据实时绘制方法及系统 |
WO2022268711A2 (en) * | 2021-06-25 | 2022-12-29 | Signify Holding B.V. | Rendering a visual representation of a luminaire by re-using light values |
-
2023
- 2023-03-21 CN CN202310273466.8A patent/CN115984444A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005104042A1 (en) * | 2004-04-20 | 2005-11-03 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-gpu acceleration for real-time volume rendering on standard pc |
CN105574923A (zh) * | 2015-12-28 | 2016-05-11 | 西北工业大学 | 基于延迟与体粒子的电磁态势混合渲染方法 |
CN108090949A (zh) * | 2017-12-26 | 2018-05-29 | 苏州蜗牛数字科技股份有限公司 | 一种基于光能传播的实时全局光照方法 |
WO2022268711A2 (en) * | 2021-06-25 | 2022-12-29 | Signify Holding B.V. | Rendering a visual representation of a luminaire by re-using light values |
CN114219902A (zh) * | 2021-07-22 | 2022-03-22 | 江苏及象生态环境研究院有限公司 | 气象数据的体绘制渲染方法、装置和计算机设备 |
CN114299220A (zh) * | 2021-11-19 | 2022-04-08 | 腾讯科技(成都)有限公司 | 光照贴图的数据生成方法、装置、设备、介质及程序产品 |
CN114820967A (zh) * | 2022-04-28 | 2022-07-29 | 四川见山科技有限责任公司 | 一种分层影像数据实时绘制方法及系统 |
Non-Patent Citations (4)
Title |
---|
LUO DENING等: "GPU-based multi-slice per pass algorithm in interactive volume illumination rendering", 《FRONTIERS OF INFORMATION TECHNOLOGY & ELECTRONIC ENGINEERING》, vol. 22, no. 8, pages 1092 - 1104 * |
李冠华;欧宗瑛;韩军;赵德伟;王卫明;: "基于分段积分的医学体数据剖切绘制算法", 光电子.激光, no. 09, pages 128 - 132 * |
罗德宁等: "基于延迟着色技术的大场景反走样渲染架构设计", 《工程科学与技术》, vol. 49, no. 4, pages 158 - 166 * |
郑杰;姬红兵;杨万海;: "一种基于per-pixel光照的高质量体绘制算法", 系统仿真学报, no. 01, pages 24 - 28 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ritschel et al. | Micro-rendering for scalable, parallel final gathering | |
Hadwiger et al. | Interactive volume exploration of petascale microscopy data streams using a visualization-driven virtual memory approach | |
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
US11138782B2 (en) | Systems and methods for rendering optical distortion effects | |
US10529119B2 (en) | Fast rendering of quadrics and marking of silhouettes thereof | |
Schott et al. | A directional occlusion shading model for interactive direct volume rendering | |
US11282261B2 (en) | Ray tracing hardware acceleration with alternative world space transforms | |
Kronander et al. | Efficient visibility encoding for dynamic illumination in direct volume rendering | |
US8368692B2 (en) | Clipping geometries in ray-casting | |
US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
US10553012B2 (en) | Systems and methods for rendering foveated effects | |
US11450057B2 (en) | Hardware acceleration for ray tracing primitives that share vertices | |
US11816783B2 (en) | Enhanced techniques for traversing ray tracing acceleration structures | |
US20120019533A1 (en) | Optimal point density using camera proximity for point-based global illumination | |
CN106558092B (zh) | 一种基于场景多方向体素化的多光源场景加速绘制方法 | |
JP2015515059A (ja) | シーンにおける不透明度レベルを推定する方法とそれに対応する装置 | |
US20070064002A1 (en) | Method and apparatus for providing efficient space leaping using a neighbor guided emptiness map in octree traversal for a fast ray casting algorithm | |
CN115984444A (zh) | 一种体数据全局光照的光照信息缓存计算方法及系统 | |
Sellers et al. | Rendering massive virtual worlds | |
Luo et al. | Gpu-based multi-slice per pass algorithm in interactive volume illumination rendering | |
Chen et al. | Interactive rendering of approximate soft shadows using ray tracing with visibility filtering | |
US20230274493A1 (en) | Direct volume rendering apparatus | |
Yuan et al. | Tile pair-based adaptive multi-rate stereo shading | |
US20240095996A1 (en) | Efficiency of ray-box tests | |
WO2023184139A1 (en) | Methods and systems for rendering three-dimensional scenes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |