CN110211197B - 一种基于多边形空间划分的光子映射优化方法、装置及系统 - Google Patents
一种基于多边形空间划分的光子映射优化方法、装置及系统 Download PDFInfo
- Publication number
- CN110211197B CN110211197B CN201910457850.7A CN201910457850A CN110211197B CN 110211197 B CN110211197 B CN 110211197B CN 201910457850 A CN201910457850 A CN 201910457850A CN 110211197 B CN110211197 B CN 110211197B
- Authority
- CN
- China
- Prior art keywords
- scene
- polygon
- node
- sub
- photon
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本公开公开了一种基于多边形空间划分的光子映射优化方法、装置及系统,该方法包括:Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;各个Slave节点读取场景的子区域;对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
Description
技术领域
本公开属于图形学真实感渲染的技术领域,涉及一种基于多边形空间划分的光子映射优化方法、装置及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
在建筑、艺术、尤其是数字电影领域,对绘制场景规模的需求和真实感的需求越来越大。为了生成相片级别的真实感图像,需要进行全局光照的计算,从而精确地模拟场景中所有光照情况。然而,由于全局光照计算中,需要渲染的空间场景可能会很大,其带来的大规模光照计算任务和大规模场景数据存储需求,给真实感渲染与视觉特效仿真提出新的挑战。因此,如何缩短渲染时间和减少内存使用成为越来越重要的问题。
随着近几年分布式框架的日益发展,越来越多的研究者将分布式与渲染相结合,借助集群强大的计算能力来减少渲染时间。这样,不仅仅大大减少了渲染时间,内存加载不下的问题也不复存在。针对大规模场景的光子存储瓶颈,目前研究者提出了一系列光子映射内外存调度方法,在大规模场景的绘制中起到一定的作用。这些方法大多采用特殊的场景划分策略,以适用于某种类型场景几何数据的分布特点,减少内外存的数据交换量。
然而,发明人在研发过程中发现,目前方法中尚没有高效的场景划分方法适用于大型展馆类的场景。
发明内容
针对现有技术中存在的不足,本公开的一个或多个实施例提供了一种基于多边形空间划分的光子映射优化方法、装置及系统。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,该方法包括:
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
各个Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
进一步地,在该方法中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识。
进一步地,在该方法中,所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小。
进一步地,在该方法中,所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
进一步地,在该方法中,所述各个Slave节点读取场景的子区域的具体步骤包括:
采用分布式加载场景的子区域中物体,采用SAH策略构建场景k-d树,在本节点内部生成属于本区域范围内的光子图。
进一步地,在该方法中,所述每个Slave节点在本节点内进行光子追踪求交检测。
进一步地,在该方法中,所述每个Slave节点进行该场景子区域的着色计算,在场景分割线附近,采用overlapped k-d树存储光子,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出该着色点的辐射亮度,并完成着色计算,具体步骤包括:
设定光子收集搜索半径;
当着色点和虚拟portal距离大于等于搜索半径时,着色点的光亮度为该节点内部的光子图计算出的辐射亮度;
当着色点和虚拟portal距离小于搜索半径时,访问相邻分割区域的光子,采用overlapped k-d树组织光子图,将划分区域边界处的光子重复存储到临近区域的节点上,着色点的光亮度为检测节点内部光子图中的光子图计算出的辐射亮度。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化系统。
一种基于多边形空间划分的光子映射优化系统,该系统包括:Master节点和与其连接的若干Slave节点;
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
各个Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,在Master节点中实现,该方法包括:
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
进一步地,在该方法中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识。
进一步地,在该方法中,所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小。
进一步地,在该方法中,所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由电子设备的处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
根据本公开的一个或多个实施例的一个方面,提供一种电子设备。
一种电子设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,在Slave节点中实现,该方法包括:
Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点。
进一步地,在该方法中,所述Slave节点读取场景的子区域的具体步骤包括:
采用分布式加载场景的子区域中物体,采用SAH策略构建场景k-d树,在本节点内部生成属于本区域范围内的光子图。
进一步地,在该方法中,所述每个Slave节点在本节点内进行光子追踪求交检测。
进一步地,在该方法中,所述每个Slave节点进行该场景子区域的着色计算,在场景分割线附近,采用overlapped k-d树存储光子,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出该着色点的辐射亮度,并完成着色计算,具体步骤包括:
设定光子收集搜索半径;
当着色点和虚拟portal距离大于等于搜索半径时,着色点的光亮度为该节点内部的光子图计算出的辐射亮度;
当着色点和虚拟portal距离小于搜索半径时,访问相邻分割区域的光子,采用overlapped k-d树组织光子图,将划分区域边界处的光子重复存储到临近区域的节点上,着色点的光亮度为检测节点内部光子图中的光子图计算出的辐射亮度。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由电子设备的处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
根据本公开的一个或多个实施例的一个方面,提供一种电子设备。
一种电子设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
本公开的有益效果:
本公开提供的一种基于多边形空间划分的光子映射优化方法、装置及系统,在用户视觉上无明显偏差;多个节点并行发射光子,当节点数目增加时,光子发射时间越来越短,该方法在绘制阶段具有很好的扩展性。同样数目节点情况下,本公开提出的划分方法所用的光子发射时间要小于基于K-d树划分方法的光子发射时间,在光子发射阶段,光子撞击到虚拟portal的数量要比基于k-d树划分方法中的数量要少,降低传输成本。本公开多节点成功分担了每一次场景增加的复杂度,该分布式架构适用于具有复杂外轮廓的场景的绘制。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是根据一个或多个实施例的一种基于多边形空间划分的光子映射优化方法流程图;
图2(a)是根据一个或多个实施例的多边形ABCD的潜在分割边c1图;
图2(b)是根据一个或多个实施例的多边形ABCD的潜在分割边c2图;
图3是根据一个或多个实施例的以AD和BC为配对边分割图;
图4是根据一个或多个实施例的三角形AGB中的最短分割线图;
图5是根据一个或多个实施例的梯形GDHB中的最短分割线图;
图6是根据一个或多个实施例的当撞击点离虚拟portal(虚线)很近时需要收集相邻区域的光子图;
图7是根据一个或多个实施例的光子撞击到overlapped区域时发送到相邻节点图。
具体实施方式:
下面将结合本公开的一个或多个实施例中的附图,对本公开的一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合,下面结合附图与实施例对本公开作进一步说明。
本实施例提出了针对类似博物馆的室内展馆类大场景分布式光子映射算法,由于该类场景外轮廓一般较为复杂、室内没有明显的房间界限。并且大多数展品均匀摆放在场景内部。这种大型建筑物一般都由数以万计的多边形和数千个光源组成。因此,内存加载不开,就需要将建筑以某种划分方式分割成多个单元,分布式加载到各个节点上面,每个节点只加载其中一个单元,这样就不需要担心内存加载不下的情况。
本实施例提出一种基于场景外轮廓的场景划分方式。该划分方式保证划分出的子场景面积大致相同,分割线总和最短。在分割线处插入虚拟portal,用于光子映射过程中的数据传输的有效组织,保持各个分割单元之间的联系。
其中,等面积保证各个子区域的求交计算量大致相等,从而使得每个节点的光照求交任务更加均衡,减少了节点通信时因为任务不均衡而造成的互相等待问题,减少了通信时间;此外,划分场景的分割线总长度最短,当portal的高度相同的情况下,相比其他划分方式,portal的表面积和是最小的。从而保证各个子区域之间的数据传输最少。场景划分之后,由master调度将各个划分的子单元分发到相应的slave节点上,每个slave节点分别处理其中一个子单元,减少了整体场景加载时间。
实施例一
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,该方法包括:
场景划分和加载阶段:
master节点将场景外轮廓按照本文提出划分方法划分成N份,将划分后的几何边界信息发送给每个slave节点,由各个slave节点读取场景的子区域。
S1:Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
S2:各个Slave节点读取场景的子区域;
光子发射阶段:
S3:对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
对于每一个slave节点而言,光子从本节点内部的光源发射,并在本节点内进行光子追踪求交检测,就像从单节点上进行光子发射一样。但是当光子到达本节点区域边界的虚拟portal的时候,它并不会反射或者被吸收,而是会被存储到一个特定的数据结构中。这个数据结构负责存储所有撞击到这个虚拟portal的光子。当这个数据结构的光子数量达到一定值的时候,将数据结构中的光子传输到相邻区域对应的节点中。
绘制阶段:
S4:每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
S5:Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
在绘制阶段,master节点负责将eye rays发送到所有slave节点,在每个slave节点上计算光线和场景交点,并在该交点处做光子收集,计算该点的光亮度值,然后每个slave节点将交点位置和交点的光亮度值返回给master节点,master节点选择离视点最近的交点和对应的光亮度值,作为某个采样点的光亮度值,直到所有eye rays计算完成。
在本实施例的步骤S1中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识。
在本实施例的步骤S1中,所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小。
在本实施例的步骤S1中,所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
在本实施例的步骤S2中,所述各个Slave节点读取场景的子区域的具体步骤包括:
采用分布式加载场景的子区域中物体,采用SAH策略构建场景k-d树,在本节点内部生成属于本区域范围内的光子图。
在场景划分和加载阶段,master节点将场景外轮廓按照上述的划分方法划分成N份,将划分后的几何边界信息发送给每个slave节点。划分之后的多边形需要记录以下信息:多边形的顶点信息,记录该信息是为了在slave节点加载物体的时候,判断场景内的某个物体是否属于该多边形。该多边形的相邻的多边形的唯一标识也要记录,因为只有相邻区域对应的slave节点才进行通信。除此之外,该多边形的唯一标识也需要记录。
场景划分和加载部分为以下几个步骤
步骤(1.1):找配对边
对于给定场景的外轮廓多边形,假设需要把这个多边形分成N份,本文使用分而治之算法:计算外轮廓多边形的面积为Apoly,因而,每个待划分的目标子多边形Atar的面积为:
针对初始多边形,首先把这个多边形分成两个,小的一个的面积Asmall为:
较大的那个多边形的面积Abig为:
迭代使用相同的方法将较大的那个多边形分割,直到分割的多边形面积符合公式(1)的要求.
步骤(1.2):确定分割线
分割线肯定是从多边形的一条边开始,从多边形的另一条边结束。例如,在4条边的多边形中边与边的组合有6种可能。所以可能有一条潜在分割边(potential cut)。如图1,举出了2条潜在分割边c1,c2。对于所有的潜在分割边,本文选择一条最短的。
不失一般性,以图2(a)和图2(b)中的四边形为例,选择AD和BC为分割线顶点所在的边,第一步,确定边AD和边BC组成的角平分线,如图2(a)和图2(b)虚线,标记为m。第二步,四个顶点分别沿着垂直于角平分线m的方向,向相对边上做投影,如果投影点未落在相对边的线段上,则忽略该投影点。例如,在图3中,B的投影顶点是G,D的投影点是H。沿着与角平分线m垂直的方向投影A点,发现其投影点并不位于边BC上,所以顶点A被忽略。相同的论点适用于点C。四个顶点的有效投影点是G和H。第三步,将顶点B和D连接到它们对应的有效投影点G和H,形成了三角形AGB,DCH和梯形GDHB的组合。第四步,若边AD和边BC上存在最小分割线,则必须位于这两个三角形或梯形中。要找出最小分割线的位置,可以进行简单的区域检查。例如,AAGB是左三角形的面积,AGDHB是梯形的面积,ADCH是右边三角形的面积。最小的分割线所在位置有三种情况:
第二种情况,如果且那么最小分割线在梯形中,如图5。分割线的两个顶点可以根据目标区域的面积大小进行移动。如果分割线需要最短的话,那么分割线的角度必须总是垂直于边AD和边BC的角平分线m。分割线的一端是G和D的线性插值。分割线的另一端是B和H的线性插值。
当分割线是位于梯形中的时候,分割线一定会垂直于边AD和边BC的角平分线m,可以通过创建一个梯形来进行几何验证,其中平行边与角平分线成α角。这个梯形的面积可以表示为α的函数。为了使分割线最短,本文取该区域的导数,并且可以证明,对于给定区域,α必须等于90度。
划分完场景后,每个slave节点开始读入划分子场景的几何信息和光源信息,由于场景文件一般比较大,对于有些场景文件来说甚至可以达到几十G,此时,内存一次性加载不开。所以采用分布式加载xml中物体的方式。当每个slave节点将场景内相关的物体加载进来之后,使用SAH策略开始构建场景k-d树,由于每个slave节点也加载了光源信息,所以可以在本节点内部生成属于本区域范围内的光子图。由于每个节点不需要存储全局的光子,只需要存储本区域的,所以减少了光子存储的内存压力。
在本实施例的步骤S3中,所述每个Slave节点在本节点内进行光子追踪求交检测。
一个节点中的光子图中的光子包括本区域发射的光子和从相邻节点通过虚拟portal传输过来的光子。光子在场景内传输,当光子碰到漫反射(diffuse)表面的时候,就会被存储到光子图中。由于每个节点加载其中一个子区域,因此,每个节点都有属于本区域范围内的光子图,该光子图只需要存储在本节点所加载场景的光子,并不需要存储整个场景中的光子,因此,大大减少了内存压力。
光子发射阶段,具体如下,由于每个节点加载了属于每个节点范围内的光源,所以在每个节点上,光子从本节点的光源发射,并在本节点内进行求交检测。由于每个节点只加载了场景的一个子区域,当进行求交检测的时候,本文只需要考虑子区域中的几何,因此,求交检测的效率会大大提高。
当光子在场景内传输期间,光子可能会撞击到不同的表面,当光子撞击到场景内的这些物体表面时,使用俄罗斯轮盘来决定它是否会被反射,继续传播或者被吸收。然而,当光子到达插入的虚拟portal的时候,它并不会反射或者被吸收,而是会被存储到一个特定的数据结构中。这个数据结构负责存储所有撞击到这个虚拟portal的光子。存储这些光子的数组的大小本文给了一个固定值MAX_TEMP_PHOTONS,本文当这个数据结构的光子数量达到这个固定值的时候,就激活相邻区域,将数据结构中的光子传输到相邻区域对应的节点中。当光子传输到相邻区域的节点时,这些光子开始和相邻区域内的物体进行求交运算,像从光源发射的光子一样。当节点没有计算任务的时候,本文此时会再次检测虚拟portal上面的光子数量。此时,即使虚拟portal上面的光子的数量由于没有达到MAX_TEMP_PHOTONS,这些虚拟portal上面的光子也会被全部传输到相邻区域,减少了光子损失,提高了准确率。
光子在场景内传输,当光子碰到漫反射(diffuse)表面的时候,光子就会被存储到相关数据结构中。一旦光子在场景的子区域中传输完毕,该子区域中的存储的光子就会被组织成k-d树,用来构建光子图,由于每个节点加载其中一个子区域,因此,每个节点都有属于本区域范围内的光子图,该光子图只需要存储在本节点所加载场景的光子,并不需要存储整个场景中的光子,因此,每棵k-d树的层次会大大减少,当使用k近邻算法计算搜索半径内的着色点的光亮度的时候,将会变得更高效,而且这大大减少了内存压力。
在本实施例的步骤S4中,所述每个Slave节点进行该场景子区域的着色计算,在场景分割线附近,采用overlapped k-d树存储光子,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出该着色点的辐射亮度,并完成着色计算,具体步骤包括:
设定光子收集搜索半径;
当着色点和虚拟portal距离大于等于搜索半径时,着色点的光亮度为该节点内部的光子图计算出的辐射亮度;
当着色点和虚拟portal距离小于搜索半径时,访问相邻分割区域的光子,采用overlapped k-d树组织光子图,将划分区域边界处的光子重复存储到临近区域的节点上,着色点的光亮度为检测节点内部光子图中的光子图计算出的辐射亮度。
本发明使用overlapped k-d树存储光子在解决边界处着色点跨界点收集光子的问题,采用overlapped k-d树。在场景分割线区域设定一个范围,本文将该范围设定为光子收集搜索半径,将这个范围作为重叠(overlapped)区域。光子发射之后的光子如果落在该边界范围内,则将该光子需要在相邻区域节点均存储。具体做法是,对于每一个光子来说,分别在x轴、y轴和z轴方向计算这个光子与分割平面的距离,如果该光子与x轴、y轴、z轴的距离都小于搜索半径的话,那该光子就需要被发送到相邻区域,在相邻区域进行进一步的传输,就像从光源发射的光子一样。通过将划分区域边界处的光子重复存储到临近区域的节点上,在对某个着色点求光亮度的时候,只需要检测节点内部光子图中的光子,没有通信代价,提高了计算效率。
光子收集阶段,每个节点也只是负责一个场景子区域的着色计算,最后将着色计算信息发送到master节点上面,让master节点选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。在进行光估计的过程中,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出该着色点的辐射亮度,并完成着色计算。在相交点使用k近邻搜索周围的光子来估计相交点的光亮度,此时需要确定搜索半径。给定一个搜索半径,对于远离虚拟portal处的相交点,使用该节点内部的光子图计算出的辐射亮度就是该点的光亮度。但是针对节点内区域边界处的着色点,即当着色点和虚拟portal距离小于搜索半径时,这个时候就会造成光照的不连续性,因此,需要访问相邻分割区域的光子。本发明使用overlapped k-d tree解决该问题,如图6。具体做法是,对于每一个光子来说,分别在x轴、y轴和z轴方向计算这个光子与分割平面的距离,如果该光子与x轴、y轴、z轴的距离都小于搜索半径的话,那该光子就需要被发送到相邻区域,在相邻区域进行进一步的传输,就像从光源发射的光子一样。如图7,虚线与分割线之间的就是overlapped区域。为了能够使用k-近邻算法快速定位屏幕空间发射出的光线与场景相交点半径范围内的光子,本文使用k-d树组织光子图。通过将划分区域边界处的光子重复存储到临近区域的节点上,在对某个着色点求光亮度的时候,只需要检测节点内部光子图中的光子,没有通信代价,提高了计算效率。
本实施例可以扩展到128个节点,并且无论是凸外轮廓还是凹外轮廓都可以适用,充分解决了展馆类场景的渲染时间和内存瓶颈问题。不仅如此,本发明场景划分算法和基于kd树的划分算法相比较,在同样数目节点情况下,本文提出的划分方法所用的光子发射时间要小于基于kd树方法的光子发射时间,在超过8个节点时,本文方法相对于kd树划分方法,速度提升了1.5倍以上。
实施例二
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化系统。
一种基于多边形空间划分的光子映射优化系统,基于实施例一种所述的一种基于多边形空间划分的光子映射优化方法,该系统包括:Master节点和与其连接的若干Slave节点;
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
各个Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,在Master节点中实现,该方法包括:
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局该着色点的光亮度。
进一步地,在该方法中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识。
进一步地,在该方法中,所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小。
进一步地,在该方法中,所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由电子设备的处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
根据本公开的一个或多个实施例的一个方面,提供一种电子设备。
一种电子设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
根据本公开的一个或多个实施例的一个方面,提供一种基于多边形空间划分的光子映射优化方法。
一种基于多边形空间划分的光子映射优化方法,在Slave节点中实现,该方法包括:
Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点。
进一步地,在该方法中,所述Slave节点读取场景的子区域的具体步骤包括:
采用分布式加载场景的子区域中物体,采用SAH策略构建场景k-d树,在本节点内部生成属于本区域范围内的光子图。
进一步地,在该方法中,所述每个Slave节点在本节点内进行光子追踪求交检测。
进一步地,在该方法中,所述每个Slave节点进行该场景子区域的着色计算,在场景分割线附近,采用overlapped k-d树存储光子,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出该着色点的辐射亮度,并完成着色计算,具体步骤包括:
设定光子收集搜索半径;
当着色点和虚拟portal距离大于等于搜索半径时,着色点的光亮度为该节点内部的光子图计算出的辐射亮度;
当着色点和虚拟portal距离小于搜索半径时,访问相邻分割区域的光子,采用overlapped k-d树组织光子图,将划分区域边界处的光子重复存储到临近区域的节点上,着色点的光亮度为检测节点内部光子图中的光子图计算出的辐射亮度。
实施例二
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由电子设备的处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
实施例三
根据本公开的一个或多个实施例的一个方面,提供一种电子设备。
一种电子设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多边形空间划分的光子映射优化方法。
这些计算机可执行指令在设备中运行时使得该设备执行根据本公开中的各个实施例所描述的方法或过程。
在本实施例中,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。
本公开的有益效果是:
(1)、随着节点数目的增加,本文方法误差范围都是在比较小的范围内,且在用户视觉上无明显偏差。
(2)、在光子发射阶段,由于是多个节点并行发射光子,所以当节点数目增加时,光子发射时间越来越短。因为多个节点并行发射光子分担了总体任务量,即使是有通信时间的影响,但是发射光子所耗费的时间依旧越来越短。但是从并行效率来看,无论是发射2000万光子、3600万光子还是6000万光子,并行效率随着节点数目的增加有所降低。原因是随着节点数量的增加,节点之间的通信开销会逐渐增加,从而导致并行效率降低。即使是多边形外轮廓为凹边形的情况下,也是同样的规律。因此,无论外轮廓是凸多边形还是凹多边形,本文算法都可以有效扩展到128个节点,且并行效率在20%以上。因此,本文算法既可以适用于外轮廓为凸多边形的展馆类场景,也适用于外轮廓为凹多边形的展馆类场景。
(3)在绘制阶段,本论文采用的是1个master节点多个slave节点的主从加速并行模式,master节点负责发射eye ray,这些eye ray会分别发送到其他每个slave节点,在每个slave节点上面,eye ray会和从节点加载的每部分场景进行求交测试,产生hit points,使用k近邻算法求出每个hit point处的光亮度,并将交点和该交点的光估计值返回给master节点,在master节点上面选出与视点最近的交点,并将该交点的光估计值作为该像素的光估计值。所以对于绘制阶段,降低master节点与slave节点之间的通信开销是主要的问题。使用4个节点,发射25万光子,每个像素8个采样点,绘制阶段所用的时间是52.2405min,当把节点增加到32个的时候,绘制阶段所用的时间为55.9685min,通信时间增加了3.728min,说明随着节点的增长,绘制阶段并没有耗费太多通信时间,故本文方法在绘制阶段具有很好的扩展性。
(4)在同样数目节点情况下,本文提出的划分方法所用的光子发射时间要小于基于K-d树划分方法的光子发射时间,在超过8个节点时,本文方法相对于基于k-d树划分方法,速度提升了1.5倍以上。这说明在光子发射阶段,光子撞击到虚拟portal的数量要比基于k-d树划分方法中的数量要少,降低传输成本。
(5)在不同节点数目下,将场景外轮廓边数由8条边增加到100条边的时候,光子发射时间均没有明显增加。这是因为虽然场景复杂度变多,但是场景里面物体数量以及划分场景的分割线长度并没有变化很多,导致光子发射时间变化没有那么明显。这说明多节点成功分担了每一次场景增加的复杂度,该分布式架构适用于具有复杂外轮廓的场景的绘制。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种基于多边形空间划分的光子映射优化方法,其特征在于,该方法包括:
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
各个Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局着色点的光亮度;
所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小;
所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
2.如权利要求1所述的一种基于多边形空间划分的光子映射优化方法,其特征在于,在该方法中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识;
和/或,在该方法中,所述各个Slave节点读取场景的子区域的具体步骤包括:
采用分布式加载场景的子区域中物体,采用SAH策略构建场景k-d树,在本节点内部生成属于本区域范围内的光子图;
和/或,在该方法中,所述每个Slave节点在本节点内进行光子追踪求交检测;
和/或,在该方法中,所述每个Slave节点进行该场景子区域的着色计算,在场景分割线附近,采用overlappedk-d树存储光子,从屏幕空间发射光线,记录光线与几何相交的着色点,通过光子图进行光子收集计算出着色点的辐射亮度,并完成着色计算,具体步骤包括:
设定光子收集搜索半径;
当着色点和虚拟portal距离大于等于搜索半径时,着色点的光亮度为该节点内部的光子图计算出的辐射亮度;
当着色点和虚拟portal距离小于搜索半径时,访问相邻分割区域的光子,采用overlappedk-d树组织光子图,将划分区域边界处的光子重复存储到临近区域的节点上,着色点的光亮度为检测节点内部光子图中的光子图计算出的辐射亮度。
3.一种基于多边形空间划分的光子映射优化系统,其特征在于,该系统包括:Master节点和与其连接的若干Slave节点;
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
各个Slave节点读取场景的子区域;
对每个Slave节点,光子从本节点内部的光源发射,到达本节点区域边界的虚拟portal时存储到数据结构中,并在光子数量到达阈值时将光子传输至相邻区域对应节点;
每个Slave节点进行该场景子区域的着色计算,并将着色计算信息发送至Master节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局着色点的光亮度;
所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小;
所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
4.一种基于多边形空间划分的光子映射优化方法,在Master节点中实现,其特征在于,该方法包括:
Master节点接收场景图像,进行场景划分,得到几何边界信息,在分割线处插入虚拟portal,并分别发送至各个Slave节点;
Master节点根据接收的各Slave节点的着色计算信息,选择距离光源最近的交点的光亮度作为全局着色点的光亮度;
所述Master节点进行场景划分的具体步骤包括:
根据场景图像的俯视图,得到场景的轮廓坐标信息;
根据Slave节点的数目,将场景图像划分成相应的N份;
保证场景分割线总和最短和每块划分后的场景子区域面积差最小;
所述将场景图像划分成相应的N份的具体步骤包括:
假设场景的外轮廓多边形划分成N份,根据外轮廓多边形的面积,计算目标子多边形面积;
场景的外轮廓多边形一分为二,其中一个面积为目标子多边形面积;迭代使用相同的方法将另一个子多边形分割,直至分割的所有子多边形面积接近目标子多边形面积;
确定最短的场景分割线。
5.如权利要求4所述的一种基于多边形空间划分的光子映射优化方法,其特征在于,在该方法中,所述几何边界信息包括多边形的顶点信息、多边形的唯一标识和该多边形相邻多边形的唯一标识。
6.一种计算机可读存储介质,其中存储有多条指令,其特征在于,所述指令适于由电子设备的处理器加载并执行如权利要求4-5任一项所述的一种基于多边形空间划分的光子映射优化方法。
7.一种电子设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,其特征在于,所述指令适于由处理器加载并执行如权利要求4-5任一项所述的一种基于多边形空间划分的光子映射优化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457850.7A CN110211197B (zh) | 2019-05-29 | 2019-05-29 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
PCT/CN2019/123404 WO2020238136A1 (zh) | 2019-05-29 | 2019-12-05 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910457850.7A CN110211197B (zh) | 2019-05-29 | 2019-05-29 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110211197A CN110211197A (zh) | 2019-09-06 |
CN110211197B true CN110211197B (zh) | 2020-10-02 |
Family
ID=67789406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910457850.7A Active CN110211197B (zh) | 2019-05-29 | 2019-05-29 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110211197B (zh) |
WO (1) | WO2020238136A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110211197B (zh) * | 2019-05-29 | 2020-10-02 | 山东大学 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
CN115495056B (zh) * | 2022-11-17 | 2023-03-07 | 阿里巴巴(中国)有限公司 | 分布式图计算系统和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820584A (zh) * | 2009-02-27 | 2010-09-01 | 中兴通讯股份有限公司 | 一种资源划分及资源映射的方法和装置 |
CN106251394A (zh) * | 2016-07-14 | 2016-12-21 | 山东大学 | 一种基于光子映射的分布式全局光照计算方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8189001B2 (en) * | 2010-01-04 | 2012-05-29 | Adshir Ltd. | Method and apparatus for parallel ray-tracing employing modular space division |
CN103021018B (zh) * | 2012-11-07 | 2015-04-22 | 浙江工业大学 | 基于gpu的构建bvh树并行光线追踪方法 |
CN104700448B (zh) * | 2015-03-23 | 2017-06-20 | 山东大学 | 一种基于梯度的自适应光子映射优化算法 |
CN106251393B (zh) * | 2016-07-14 | 2018-11-09 | 山东大学 | 一种基于样本消除的渐进式光子映射优化方法 |
CN106296793B (zh) * | 2016-08-02 | 2018-10-30 | 山东大学 | 在Intel MIC硬件架构下的基于点的全局光照场景渲染方法 |
CN110211197B (zh) * | 2019-05-29 | 2020-10-02 | 山东大学 | 一种基于多边形空间划分的光子映射优化方法、装置及系统 |
-
2019
- 2019-05-29 CN CN201910457850.7A patent/CN110211197B/zh active Active
- 2019-12-05 WO PCT/CN2019/123404 patent/WO2020238136A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820584A (zh) * | 2009-02-27 | 2010-09-01 | 中兴通讯股份有限公司 | 一种资源划分及资源映射的方法和装置 |
CN106251394A (zh) * | 2016-07-14 | 2016-12-21 | 山东大学 | 一种基于光子映射的分布式全局光照计算方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020238136A1 (zh) | 2020-12-03 |
CN110211197A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109509138B (zh) | 针对射线跟踪系统的减小的加速结构 | |
JP7421585B2 (ja) | 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット | |
KR101076807B1 (ko) | 레이 트레이싱 장치 및 방법 | |
KR102164541B1 (ko) | 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법 | |
KR20220043157A (ko) | 픽셀 포인트 식별 방법 및 장치, 조명 렌더링 방법 및 장치, 전자 디바이스 및 저장 매체 | |
US20100194751A1 (en) | Ray tracing a three dimensional scene using a grid | |
US20150091895A1 (en) | Method and apparatus for accelerating ray tracing | |
KR20140036519A (ko) | 레이 추적의 스케쥴링을 위한 장치 및 방법 | |
CN111744199B (zh) | 图像处理方法及装置、计算机可读存储介质、电子设备 | |
CN110211197B (zh) | 一种基于多边形空间划分的光子映射优化方法、装置及系统 | |
US20150091894A1 (en) | Method and apparatus for tracing ray using result of previous rendering | |
KR102219289B1 (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
CN112052489B (zh) | 一种户型图生成方法及系统 | |
CN116547716A (zh) | 包围体层次结构生成 | |
KR102193683B1 (ko) | 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법 | |
US20150084957A1 (en) | Method and apparatus for routing data and reconfiguring rendering unit | |
KR102211142B1 (ko) | 영상 처리 장치 및 방법 | |
KR100843292B1 (ko) | 룩업 테이블을 이용한 레이 트레이싱 장치 및 방법 | |
KR101623502B1 (ko) | 계층적 공간 분할 구조의 부분 업데이트 장치 및 방법 | |
US20150186288A1 (en) | Apparatus and method of operating cache memory | |
US20240144580A1 (en) | Split-based trees for ray tracing | |
KR100281686B1 (ko) | 3차원 다각형 다면체 데이터의 쿼드 에지로의 변환 방법 | |
Robles-Ortega et al. | A novel ray-shooting method to render night urban scenes a method based on polar diagrams | |
Robles-Ortega et al. | A Novel Ray-shooting Method to Render Night Urban Scenes | |
JP2024523729A (ja) | 3d環境におけるリアルタイム光線追跡のためのシステム及び方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |