CN107180447B - 一种获得光照强度的方法及装置 - Google Patents
一种获得光照强度的方法及装置 Download PDFInfo
- Publication number
- CN107180447B CN107180447B CN201610136981.1A CN201610136981A CN107180447B CN 107180447 B CN107180447 B CN 107180447B CN 201610136981 A CN201610136981 A CN 201610136981A CN 107180447 B CN107180447 B CN 107180447B
- Authority
- CN
- China
- Prior art keywords
- illumination intensity
- triangular
- preset
- triangular patch
- target
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
本发明实施例提供一种获得光照强度的方法及装置,该方法包括:利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;记录目标三角面片上光子探测点处的光照强度;按照预设的第一随机点选择规则,在目标三角面片上选择多个随机点;根据光子探测点处的光照强度,计算每个随机点处的第一类光照强度;根据第一类光照强度,获得目标三角面片上全部栅格点的光照强度。应用本发明实施例提供的方案,可以通过目标三角面片上的随机点处的第一类光照强度来获得全部栅格点的光照强度,降低了获得每一个三角面片的光照强度时所需要的计算机资源,并提高获得每一个三角面片在被栅格化之后的各个栅格点处的光照强度的速度。
Description
技术领域
本发明涉及虚拟现实技术领域,特别是涉及一种获得光照强度的方法及装置。
背景技术
虚拟现实(Virtual Reality,简称VR)是一种可以创建和体验虚拟世界的计算机系统,它利用计算机技术生成一个逼真的、具有视、听、触等多种感知的虚拟场景。用户可以使用各种交互设备同虚拟场景中的实体相互作用,使之产生身临其境的交互式视景仿真和信息交流。其中,获得虚拟场景中各个实体的光照强度是实现对各个实体进行光照渲染的一个必备环节。
一般的,虚拟场景可以理解为是由多个几何体构成的,而每个几何体是由多个三角面片构成的,其中,三角面片可以理解为构成几何体的最小结构单元。
实际应用中,为显示所生成的虚拟场景,往往需要将构成虚拟场景中的每个几何体的各个三角面片栅格化,栅格化之后的各个三角面片上具有多个栅格点,然后获得各个三角面片上各个栅格点处的光照强度,即获得各个三角面片的光照强度。现有技术中提供了这样一种基于光子映射算法(Photon Mapping)来获得每一个三角面片上的各个栅格点处的光照强度的方法:
1、光子跟踪,从光源发出预设数量个虚拟光子,这些虚拟光子可以在整个虚拟场景中传播;
2、光子排序,用一种高效的存储结构将大量的虚拟光子的光照强度保存起来;
3、最终渲染,根据所存储的虚拟光子的光照强度估算出每个三角面片上的各个栅格点处的光照强度。
由上述方案得知,在模拟虚拟场景中的光照效果的过程中,需要利用光子映射算法来获得每一个三角面片上各个栅格点处的光照强度,由于光子映射算法的计算量大、需要的计算资源多,且每个三角面片经栅格化后包含多个栅格点,因此,应用上述方案获得每一个三角面片的光照强度时,不仅需要较多的计算机资源而且耗时长。
发明内容
本发明实施例的目的在于提供一种获得光照强度的方法及装置,以降低获得每一个三角面片的光照强度时所需要的计算机资源,并提高获得每一个三角面片在被栅格化之后的各个栅格点处的光照强度的速度。
为达到上述目的,本发明实施例公开了一种获得光照强度的方法,所述方法包括:
利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;
记录所述目标三角面片上光子探测点处的光照强度;其中,所述光子探测点为所述预设数量个虚拟光子在所述目标三角面片上的作用点;
按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点;
根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度;
根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度,包括:
按照以下方式,计算所选择随机点中任意一个随机点P处的光照强度:
统计以所述随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离;
根据统计结果,计算所述随机点P处的第一类光照强度。
较佳的,在所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度之前,还包括:
根据所述目标三角面片上光子探测点处的光照强度,计算所述目标三角面片上预设点处的第二类光照强度;其中,所述预设点为:按照预设的均匀分布规则确定的三角面片上的点;
所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度,包括:
根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度,包括:
设置所述目标三角面片为待切分三角面片;
根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重;
判断所述采样权重是否大于预设的采样权重阈值;
若大于,则对所述待切分三角面片进行切分处理,得到所述待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在所述待切分三角面片的各个子三角面片上分别选择多个随机点;计算所述待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将所述待切分三角面片的子三角面片设置为待切分三角面片,返回所述根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重的步骤;
根据所述第一类光照强度、所述第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述预设点包括:
三角面片中三个顶点、三边中点和质心。
较佳的,所述按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点,包括:
判断所述目标三角面片是否满足预设的三角面片第一切分条件;
若满足,则对所述目标三角面片进行切分处理,得到所述目标三角面片的多个子三角面片;
按照预设的第一随机点选择规则,在所述目标三角面片的各个子三角面片上分别选择多个随机点。
较佳的,所述判断所述目标三角面片是否满足预设的三角面片第一切分条件,包括:
判断所述目标三角面片的三条边中是否存在大于预设的边长阈值的边;
若存在,判定所述目标三角面片满足预设的三角面片第一切分条件;
否则,判定所述目标三角面片不满足所述预设的三角面片第一切分条件。
为达到上述目的,本发明实施例公开了一种获得光照强度的装置,所述装置包括:
光子发射模块,用于利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;
光照强度记录模块,用于记录所述目标三角面片上光子探测点处的光照强度;其中,所述光子探测点为所述预设数量个虚拟光子在所述目标三角面片上的作用点;
随机点选择模块,用于按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点;
随机点光强计算模块,用于根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度;
目标光强获得模块,用于根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述随机点光强计算模块,用于:
按照以下方式,计算所选择随机点中任意一个随机点P处的光照强度:
统计以所述随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离;
根据统计结果,计算所述随机点P处的第一类光照强度。
较佳的,还包括:
预设点光强计算模块,用于在所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度之前,根据所述目标三角面片上光子探测点处的光照强度,计算所述目标三角面片上预设点处的第二类光照强度;其中,所述预设点为:按照预设的均匀分布规则确定的三角面片上的点;
所述目标光强获得模块,用于:
根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述目标光强获得模块,包括:
待切分三角面片设置单元,用于设置所述目标三角面片为待切分三角面片;
采样权重计算单元,用于根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重;
采样权重判断单元,用于判断所述采样权重是否大于预设的采样权重阈值;
第一切分处理单元,用于在所述采样权重判断单元的判断结果为大于时,对所述待切分三角面片进行切分处理,得到所述待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在所述待切分三角面片的各个子三角面片上分别选择多个随机点;计算所述待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将所述待切分三角面片的子三角面片设置为待切分三角面片,触发所述采样权重计算单元;
目标光强获得单元,用于根据所述第一类光照强度、所述第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得所述目标三角面片上全部栅格点的光照强度。
较佳的,所述预设点包括:
三角面片中三个顶点、三边中点和质心。
较佳的,所述随机点选择模块,包括:
切分条件判断单元,用于判断所述目标三角面片是否满足预设的三角面片第一切分条件;
第二切分处理单元,用于在所述切分条件判断单元的判断结果为满足时,对所述目标三角面片进行切分处理,得到所述目标三角面片的多个子三角面片;
随机点选择单元,用于按照预设的第一随机点选择规则,在所述目标三角面片的各个子三角面片上分别选择多个随机点。
较佳的,所述切分条件判断单元,用于:
判断所述目标三角面片的三条边中是否存在大于预设的边长阈值的边;
若存在,判定所述目标三角面片满足预设的三角面片第一切分条件;
否则,判定所述目标三角面片不满足所述预设的三角面片第一切分条件。
本发明实施例提供一种获得光照强度的方法及装置,首先可以利用预设的虚拟光源向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子,并记录目标三角面片上光子探测点处的光照强度;接着,按照预设的第一随机点选择规则,在目标三角面片上选择多个随机点,并根据光子探测点处的光照强度,计算每个随机点处的第一类光照强度;最后,根据第一类光照强度,获得目标三角面片上全部栅格点的光照强度。由此可见,应用本发明实施例提供的方案,在获得虚拟场景中三角面片的光照强度时,无需运用光子映射算法这一既耗费计算资源又耗时的方法来获得栅格化后的三角面片上的各个栅格点处的光照强度,而是利用光子映射算法来获得三角面片上一部分点的光照强度(例如随机点的光照强度),且随机点的数量是小于栅格化后的栅格点的数量的,然后再根据随机点的光照强度来估算出各个栅格点处的光照强度,在估算各个栅格点时所耗费的计算资源与处理时间是远小于利用光子映射算法的,可见,这样大大降低了获得光照强度时所耗费的计算资源和处理时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例提供的一种获得光照强度的方法的流程示意图;
图1b为本发明实施例提供的一种具有随机点的三角面片的示意图;
图1c为本发明实施例提供的一种栅格化后的三角面片的示意图;
图2为本发明实施例提供的另一种获得光照强度的方法的流程示意图;
图3为本发明实施例提供的一种获得光照强度的装置的结构示意图;
图4为本发明实施例提供的一种获得光照强度的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例提供的技术方案的应用场景进行下描述,本发明实施例提供的获得光照强度的方法适用于虚拟场景中(例如网络游戏中的场景等)对光照强度的获得。
需要说明的是,现有技术中大多数述通过光子映射算法来获得虚拟场景中的各个三角面片的光照强度的。光子映射算法是一种简单、灵活、功能强大的全局光照渲染算法,有效地解决了经典的光线跟踪算法不能模拟的辉映和焦散等特殊的光学现象,但是,该光子映射算法又是一种极其耗费资源和时间的算法,需要花费大量的处理资源及处理时间,因此,本发明实施例提供的技术方案旨在于提供一种获得光照强度的方法来降低对计算资源和处理时间的消耗。
图1a为本发明实施例提供的一种获得光照强度的方法的流程示意图,方法可以包括:
步骤S101:利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子。
需要说明的是,虚拟场景中的各个实体(例如,网络游戏中的人物、建筑、武器装备等)可以理解为是由多个几何体构成的,而每个几何体是由多个三角面片构成的,其中,三角面片可以理解为构成几何体的最小结构单元。
这里提及的“目标三角面片”是虚拟场景中的若干个三角面片中的一个,另外,本发明实施例提供的技术方案可用于获得各个虚拟场景中构成各个几何体的三角面片的光照强度。本发明实施例提供的方案仅仅是以其中的一个三角面片即目标三角面片为例进行说明。
还需要说明的是,本发明实施例并不需要对预设的虚拟光源在虚拟场景中的位置进行限定,也不需要对预设的虚拟光源的数量进行限定,也不需要对各个虚拟光源的光照强度进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
步骤S102:记录目标三角面片上光子探测点处的光照强度。
其中,光子探测点为预设数量个虚拟光子在目标三角面片上的作用点。
一种实现方式中,预设的虚拟光源发射的虚拟光子在传播过程中击中目标三角面片时,有可能发生反射、折射或吸收三种作用方式,步骤S102中记录的虚拟光子的光照强度可以是被吸收的虚拟光子的作用点处的光照强度。当然,上述列举的实现方式仅仅是举例说明而已,本发明实施例并需要对所记录的光子探测点处的虚拟光子的作用方式进行限定。
需要说明的是,预设的虚拟光源所发射的虚拟光子是分布于整个虚拟场景中的,可以作用于整个虚拟场景中的各个三角面片上,而所记录的仅仅是作用于目标三角面片上光子探测点处的虚拟光子的光照强度,显然,作用于目标三角面片上光子探测点处的虚拟光子的并非是预设的虚拟光源所发射的全部虚拟光子。
步骤S103:按照预设的第一随机点选择规则,在目标三角面片上选择多个随机点。
在本发明的一种具体实施例中,可以按照以下步骤在目标三角面片上选择多个随机点:
(11)判断目标三角面片是否满足预设的三角面片第一切分条件。
具体的,可以按照以下步骤判断目标三角面片是否满足预设的三角面片第一切分条件:
(11-1)判断目标三角面片的三条边中是否存在大于预设的边长阈值的边;
(11-2)若存在,判定目标三角面片满足预设的三角面片第一切分条件;
(11-3)否则,判定目标三角面片不满足预设的三角面片第一切分条件。
举例而言,若目标三角面片对应的三角形△ABC的三条边AB、BC、CA的长度依次为100、200、300,单位可以是长度单位如厘米(cm),还可以是像素单位如像素点数(pixel),假设预设的边长阈值为150个像素点大小,显然,边长BC和边长CA的长度大于该边长阈值,因此,判定该目标三角面片满足预设的三角面片第一切分条件。
上述列举的判断目标三角面片是否满足预设的三角面片第一切分条件的优点在于,本方式充分考虑到了目标三角面片的形状,可以理解的,如果目标三角面片中的一个边长大于预设的边长阈值,至少可以说该三角面片的两个顶点相距较远,三角面上两顶点之间的部分有可能会出现较大的光照强度的差异,因此,将有可能具有较大光照强度的差异的边进行划分,有助于得到较多的光照强度的细节,例如光照强度的变化等,有助于提升后期对该目标三角面片进行光照强度渲染时的渲染效果。
需要说明的是,步骤(11-1)至步骤(11-3)所提供的方式,仅仅是判断目标三角面片是否满足预设的三角面片第一切分条件的众多实现方式中的一种,当然,本发明还可以其他可行的实现方式,本发明并不对判断目标三角面片是否满足预设的三角面片第一切分条件的具体方式进行限定。
(12)若满足,则对目标三角面片进行切分处理,得到目标三角面片的多个子三角面片。
仍以步骤(11)中的例子进行说明,一种实现方式中,可以按照以下方式对目标三角面片进行切分处理:假设,△ABC中的三边的中点分别为D、E、F,则分别沿着三角形三边中线,也就是,沿着AD、BE和CF的方向将目标三角面片切分成6个新的三角面片。
当然,这里列举的仅仅是对目标三角面片进行切分处理的一种具体方式而已,当然,还可以有其他的切分处理方式,例如,还可以沿着△ABC的质心P到各个顶点的连线(即AP、BP和CP的方向)将目标三角面片划分成三个子三角面片,需要说明的是,本发明实施例并不需要对此进行限定,任何可能的实现方式均可以应用于本发明,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
(13)按照预设的第一随机点选择规则,在目标三角面片的各个子三角面片上分别选择多个随机点。
一种实现方式中,可以按照预设的平均分布随机算法在目标三角面片上随机选取若干个像素点作为随机点,参见图1b,图1b中所示的三角面片内分布的圆形区域即为所选择的随机点。当然,这里列举的随机点选取方式仅仅是举例说明而已,本发明实施例并不需要对随机点的具体选取方式进行限定,任何可能的实现方式均可以应用于本发明,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
步骤S104:根据光子探测点处的光照强度,计算每个随机点处的第一类光照强度。
在本发明的一种具体实施例中,可以按照以下方式计算所选择随机点中任意一个随机点P处的光照强度:
(21)统计以随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、随机点P到球体包围的每个光子探测点之间的距离;
(22)根据统计结果,计算随机点P处的第一类光照强度。
需要说明的是,上述列举的仅仅是计算每个随机点处的第一类光照强度的一种具体方式而已,本发明不需要对计算每个随机点处的第一类光照强度的具体实现方式进行限定,任何可能的实现方式均可以应用于本发明。
步骤S105:根据第一类光照强度,获得目标三角面片上全部栅格点的光照强度。
参见图1c,为本发明实施例提供的一种栅格化后的三角面片的示意图,其中,每一条水平线与每一条竖直线相交的像素点便称为一个栅格点。一种实现方式中,可以利用像素插值(例如线性差值算法)的方式来根据第一类光照强度,即三角面片上随机点处的光照强度来获得目标三角面片上全部栅格点的光照强度。当然,这里仅仅是获得目标三角面片上全部栅格点的光照强度的一种具体方式而已,本发明并不需要对如何根据第一类光照强度来获得目标三角面片上全部栅格点的光照强度的方式进行限定,也不需要对本实现方式中的像素插值的具体算法进行限定。
实际应用中,为显示所生成的虚拟场景,往往需要将构成虚拟场景中的每个几何体的各个三角面片栅格化,栅格化之后的各个三角面片上具有多个栅格点,然后获得各个三角面片上各个栅格点处的光照强度,即获得各个三角面片的光照强度。
应用本发明实施例提供的方案,在获得虚拟场景中三角面片的光照强度时,无需运用光子映射算法这一既耗费计算资源又耗时的方法来获得栅格化后的三角面片上的各个栅格点处的光照强度,而是利用光子映射算法来获得三角面片上一部分点的光照强度(例如随机点的光照强度),且随机点的数量是小于栅格化后的栅格点的数量的,然后再根据随机点的光照强度来估算出各个栅格点处的光照强度,在估算各个栅格点时所耗费的计算资源与处理时间是远小于利用光子映射算法的,可见,这样大大降低了获得光照强度时所耗费的计算资源和处理时间。
进一步的,如图2所示,在图1a所示方法实施例的基础之上,在步骤S105之前,还可以包括:
步骤S106:根据目标三角面片上光子探测点处的光照强度,计算目标三角面片上预设点处的第二类光照强度。
其中,预设点为:按照预设的均匀分布规则确定的三角面片上的点。
一种实现方式中,预设点可以包括:三角面片中三个顶点、三边中点和质心。需要说明的是,这里仅仅是举例说明而已,当然,还可以有其他可行的实现方式,本发明实施例不需要对预设点的具体形式进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
基于步骤S106,步骤S105相应的可以包括步骤S1051:根据第一类光照强度和第二类光照强度,获得目标三角面片上全部栅格点的光照强度。
一种具体的实现方式中,可以按照以下步骤获得目标三角面片上全部栅格点的光照强度:
(31)设置目标三角面片为待切分三角面片。
(32)根据待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算待切分三角面片的采样权重。
例如,假设随机点A1、A2、A3处的光照强度为LA1、LA2、LA3,预设点B1、B2处的光照强度为LB1、LB2,那么,可以根据以下公式来计算三角面片的采样权重W:
其中,n为随机点的数量,m为预设点的数量;ai为预设的随机点i对应的权值,bj为预设的预设点对应的权值;LAi为随机点i的光照强度,LBj为预设点j的光照强度。
于是,计算出采样权重W=a1LA1+a2LA2+a3LA3+b1LB1+b2LB2。
需要说明的是,这里仅仅是列举了计算三角面片的采样权重W的众多实现方式中的一种,本发明实施例不需要对计算三角面片的采样权重W的具体方式进行限定,任何可能的实现方式均可以应用于本发明。
(33)判断采样权重是否大于预设的采样权重阈值。
(34)若大于,则对待切分三角面片进行切分处理,得到待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在待切分三角面片的各个子三角面片上分别选择多个随机点;计算待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将待切分三角面片的子三角面片设置为待切分三角面片,返回步骤(22)。
一种实现方式中,对待切分三角面片进行切分处理可以按照步骤(12)中的方式按照三角面片的三条中线将一个三角面片切分为6个新的三角面片,当然,也可以按照预设的规则,随机将三角面片划分为若干数量个子三角面片。需要说明的是,本发明实施例不需要对该切分处理的具体形式进行限定,任何可能的实现方式均可以应用于本发明。
另一种实现方式中,仍然可以按照步骤(13)中的第一随机点选择规则相同的方式选择随机点,当然,本发明实施例不需要对预设的第二随机点选择规则进行限定,任何可能的实现方式均可以应用于本发明。
(35)根据第一类光照强度、第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得目标三角面片上全部栅格点的光照强度。
本发明实施例提供的方案的优点在于,除了具有图1a所示方法实施例的全部优点之外,对图1a所示方法实施例的目标三角面片或划分得到的子三角面片进行了多层次的切分处理,当采样权重大于预设的采样权重阈值时,可认为相应的三角面片的光照强度的变化比较大,对其进行切分处理并得到多个子三角面片,并在切分得到的子三角面片中再次计算采样权重,这样能够使得最终得到的子三角面片中的光照强度变化不大,这样,再根据所选择的随机点以及预设点计算最初的目标三角面片的栅格点处的光照强度时能够更好地表现出该目标三角面片的细节效果。
图3为本发明实施例提供的一种获得光照强度的装置的结构示意图,装置可以包括:
光子发射模块201,用于利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;
光照强度记录模块202,用于记录目标三角面片上光子探测点处的光照强度;其中,光子探测点为预设数量个虚拟光子在目标三角面片上的作用点;
随机点选择模块203,用于按照预设的第一随机点选择规则,在目标三角面片上选择多个随机点;
随机点光强计算模块204,用于根据光子探测点处的光照强度,计算每个随机点处的第一类光照强度;
目标光强获得模块205,用于根据第一类光照强度,获得目标三角面片上全部栅格点的光照强度。
具体的,随机点选择模块203,可以包括:
切分条件判断单元,用于判断目标三角面片是否满足预设的三角面片第一切分条件;
第二切分处理单元,用于在切分条件判断单元的判断结果为满足时,对目标三角面片进行切分处理,得到目标三角面片的多个子三角面片;
随机点选择单元,用于按照预设的第一随机点选择规则,在目标三角面片的各个子三角面片上分别选择多个随机点。
具体的,切分条件判断单元,用于:
判断目标三角面片的三条边中是否存在大于预设的边长阈值的边;
若存在,判定目标三角面片满足预设的三角面片第一切分条件;
否则,判定目标三角面片不满足预设的三角面片第一切分条件。
具体的,随机点光强计算模块204,用于:
按照以下方式,计算所选择随机点中任意一个随机点P处的光照强度:
统计以随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、随机点P到球体包围的每个光子探测点之间的距离;
根据统计结果,计算随机点P处的第一类光照强度。
应用本发明实施例提供的方案,在获得虚拟场景中三角面片的光照强度时,无需运用光子映射算法这一既耗费计算资源又耗时的方法来获得栅格化后的三角面片上的各个栅格点处的光照强度,而是利用光子映射算法来获得三角面片上一部分点的光照强度(例如随机点的光照强度),且随机点的数量是小于栅格化后的栅格点的数量的,然后再根据随机点的光照强度来估算出各个栅格点处的光照强度,在估算各个栅格点时所耗费的计算资源与处理时间是远小于利用光子映射算法的,可见,这样大大降低了获得光照强度时所耗费的计算资源和处理时间。
图4为本发明实施例提供的另一种获得光照强度的装置的结构示意图,还可以包括:
预设点光强计算模块206,用于在根据第一类光照强度,获得目标三角面片上全部栅格点的光照强度之前,根据目标三角面片上光子探测点处的光照强度,计算目标三角面片上预设点处的第二类光照强度;其中,预设点为:按照预设的均匀分布规则确定的三角面片上的点;
具体的,预设点可以包括:三角面片中三个顶点、三边中点和质心。
目标光强获得模块205,用于:
根据第一类光照强度和第二类光照强度,获得目标三角面片上全部栅格点的光照强度。
具体的,目标光强获得模块205,可以包括:
待切分三角面片设置单元,用于设置目标三角面片为待切分三角面片;
采样权重计算单元,用于根据待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算待切分三角面片的采样权重;
采样权重判断单元,用于判断采样权重是否大于预设的采样权重阈值,若大于,则触发
第一切分处理单元,用于在采样权重判断单元的判断结果为大于时,对待切分三角面片进行切分处理,得到待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在待切分三角面片的各个子三角面片上分别选择多个随机点;计算待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将待切分三角面片的子三角面片设置为待切分三角面片,触发所述采样权重计算单元;
目标光强获得单元,用于根据第一类光照强度、第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得目标三角面片上全部栅格点的光照强度。
本发明实施例提供的方案的优点在于,除了具有图3所示装置实施例的全部优点之外,对图3所示装置实施例的目标三角面片或划分得到的子三角面片进行了多层次的切分处理,当采样权重大于预设的采样权重阈值时,可认为相应的三角面片的光照强度的变化比较大,对其进行切分处理并得到多个子三角面片,并在切分得到的子三角面片中再次计算采样权重,这样能够使得最终得到的子三角面片中的光照强度变化不大,这样,再根据所选择的随机点以及预设点计算最初的目标三角面片的栅格点处的光照强度时能够更好地表现出该目标三角面片的细节效果。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种获得光照强度的方法,其特征在于,所述方法包括:
利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;
记录所述目标三角面片上光子探测点处的光照强度;其中,所述光子探测点为所述预设数量个虚拟光子在所述目标三角面片上的作用点;
按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点;
根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度;其中,所述根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度,包括:按照以下方式,计算所选择随机点中任意一个随机点P处的光照强度:统计以所述随机点P为球心的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离;根据统计结果,计算所述随机点P处的第一类光照强度;
根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
2.根据权利要求1所述的方法,其特征在于,所述统计以所述随机点P为球心的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离,包括:
统计以所述随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度之前,还包括:
根据所述目标三角面片上光子探测点处的光照强度,计算所述目标三角面片上预设点处的第二类光照强度;其中,所述预设点为:按照预设的均匀分布规则确定的三角面片上的点;
所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度,包括:
根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度,包括:
设置所述目标三角面片为待切分三角面片;
根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重;
判断所述采样权重是否大于预设的采样权重阈值;
若大于,则对所述待切分三角面片进行切分处理,得到所述待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在所述待切分三角面片的各个子三角面片上分别选择多个随机点;计算所述待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将所述待切分三角面片的子三角面片设置为待切分三角面片,返回所述根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重的步骤;
根据所述第一类光照强度、所述第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得所述目标三角面片上全部栅格点的光照强度。
5.根据权利要求3所述的方法,其特征在于,所述预设点包括:
三角面片中三个顶点、三边中点和质心。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点,包括:
判断所述目标三角面片是否满足预设的三角面片第一切分条件;
若满足,则对所述目标三角面片进行切分处理,得到所述目标三角面片的多个子三角面片;
按照预设的第一随机点选择规则,在所述目标三角面片的各个子三角面片上分别选择多个随机点。
7.根据权利要求6所述的方法,其特征在于,所述判断所述目标三角面片是否满足预设的三角面片第一切分条件,包括:
判断所述目标三角面片的三条边中是否存在大于预设的边长阈值的边;
若存在,判定所述目标三角面片满足预设的三角面片第一切分条件;
否则,判定所述目标三角面片不满足所述预设的三角面片第一切分条件。
8.一种获得光照强度的装置,其特征在于,所述装置包括:
光子发射模块,用于利用预设的虚拟光源,向虚拟场景中的目标三角面片模拟发射预设数量个虚拟光子;
光照强度记录模块,用于记录所述目标三角面片上光子探测点处的光照强度;其中,所述光子探测点为所述预设数量个虚拟光子在所述目标三角面片上的作用点;
随机点选择模块,用于按照预设的第一随机点选择规则,在所述目标三角面片上选择多个随机点;
随机点光强计算模块,用于根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度;其中,所述随机点光强计算模块,用于:其中,所述根据所述光子探测点处的光照强度,计算每个随机点处的第一类光照强度,包括:按照以下方式,计算所选择随机点中任意一个随机点P处的光照强度:统计以所述随机点P为球心的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离;根据统计结果,计算所述随机点P处的第一类光照强度;
目标光强获得模块,用于根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
9.根据权利要求8所述的装置,其特征在于,所述随机点光强计算模块,具体用于:
统计以所述随机点P为球心且以预设值r为半径的球体包围的每个光子探测点的光照强度、所述随机点P到所述球体包围的每个光子探测点之间的距离。
10.根据权利要求8所述的装置,其特征在于,还包括:
预设点光强计算模块,用于在所述根据所述第一类光照强度,获得所述目标三角面片上全部栅格点的光照强度之前,根据所述目标三角面片上光子探测点处的光照强度,计算所述目标三角面片上预设点处的第二类光照强度;其中,所述预设点为:按照预设的均匀分布规则确定的三角面片上的点;
所述目标光强获得模块,用于:
根据所述第一类光照强度和所述第二类光照强度,获得所述目标三角面片上全部栅格点的光照强度。
11.根据权利要求10所述的装置,其特征在于,所述目标光强获得模块,包括:
待切分三角面片设置单元,用于设置所述目标三角面片为待切分三角面片;
采样权重计算单元,用于根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重;
采样权重判断单元,用于判断所述采样权重是否大于预设的采样权重阈值;
第一切分处理单元,用于在所述采样权重判断单元的判断结果为大于时,对所述待切分三角面片进行切分处理,得到所述待切分三角面片的多个子三角面片;按照预设的第二随机点选择规则,在所述待切分三角面片的各个子三角面片上分别选择多个随机点;计算所述待切分三角面片的各个子三角面片上随机点处的光照强度和预设点处的光照强度;将所述待切分三角面片的子三角面片设置为待切分三角面片,触发所述采样权重计算单元执行所述根据所述待切分三角面片上随机点处的光照强度和预设点处的光照强度,计算所述待切分三角面片的采样权重的步骤;
目标光强获得单元,用于根据所述第一类光照强度、所述第二类光照强度、计算得到的各个子三角面片上随机点处的光照强度和预设点处的光照强度,获得所述目标三角面片上全部栅格点的光照强度。
12.根据权利要求10所述的装置,其特征在于,所述预设点包括:
三角面片中三个顶点、三边中点和质心。
13.根据权利要求8-12中任一项所述的装置,其特征在于,所述随机点选择模块,包括:
切分条件判断单元,用于判断所述目标三角面片是否满足预设的三角面片第一切分条件;
第二切分处理单元,用于在所述切分条件判断单元的判断结果为满足时,对所述目标三角面片进行切分处理,得到所述目标三角面片的多个子三角面片;
随机点选择单元,用于按照预设的第一随机点选择规则,在所述目标三角面片的各个子三角面片上分别选择多个随机点。
14.根据权利要求13所述的装置,其特征在于,所述切分条件判断单元,用于:
判断所述目标三角面片的三条边中是否存在大于预设的边长阈值的边;
若存在,判定所述目标三角面片满足预设的三角面片第一切分条件;
否则,判定所述目标三角面片不满足所述预设的三角面片第一切分条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610136981.1A CN107180447B (zh) | 2016-03-10 | 2016-03-10 | 一种获得光照强度的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610136981.1A CN107180447B (zh) | 2016-03-10 | 2016-03-10 | 一种获得光照强度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107180447A CN107180447A (zh) | 2017-09-19 |
CN107180447B true CN107180447B (zh) | 2020-12-04 |
Family
ID=59829978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610136981.1A Active CN107180447B (zh) | 2016-03-10 | 2016-03-10 | 一种获得光照强度的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107180447B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611726B (zh) * | 2020-06-22 | 2021-03-23 | 广州极点三维信息科技有限公司 | 一种室内场景自动布光方法和相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200512A (zh) * | 2014-07-30 | 2014-12-10 | 浙江传媒学院 | 基于虚拟球形光源的多光源渲染方法 |
CN104658033A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 多光源下的全局光照绘制方法及装置 |
CN105118085A (zh) * | 2015-08-13 | 2015-12-02 | 北京大学 | Kd-树与Voronoi图混合的辐射亮度计算方法 |
CN105184786A (zh) * | 2015-08-28 | 2015-12-23 | 大连理工大学 | 一种浮点型三角形特征描述方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1026639A3 (en) * | 1999-02-04 | 2002-09-04 | Canon Kabushiki Kaisha | 3D computer graphics processing apparatus and method |
US6801210B2 (en) * | 2001-07-12 | 2004-10-05 | Vimatix (Bvi) Ltd. | Method and apparatus for image representation by geometric and brightness modeling |
-
2016
- 2016-03-10 CN CN201610136981.1A patent/CN107180447B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104658033A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 多光源下的全局光照绘制方法及装置 |
CN104200512A (zh) * | 2014-07-30 | 2014-12-10 | 浙江传媒学院 | 基于虚拟球形光源的多光源渲染方法 |
CN105118085A (zh) * | 2015-08-13 | 2015-12-02 | 北京大学 | Kd-树与Voronoi图混合的辐射亮度计算方法 |
CN105184786A (zh) * | 2015-08-28 | 2015-12-23 | 大连理工大学 | 一种浮点型三角形特征描述方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107180447A (zh) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4071723A1 (en) | Pixel point identification method and apparatus, illumination rendering method and apparatus, electronic device and storage medium | |
US10699365B2 (en) | Method, apparatus, and storage medium for processing particle system | |
CN109241465B (zh) | 界面显示方法、装置、终端及存储介质 | |
CN107464286B (zh) | 三维城市模型中的孔洞修复方法及装置、设备及可读介质 | |
WO2013052208A2 (en) | 2d animation from a 3d mesh | |
CN112365572B (zh) | 一种基于曲面细分的渲染方法及其相关产品 | |
CN113781631A (zh) | 一种海量点云数据处理与可视化方法及系统 | |
CN111739140B (zh) | 一种3d数据城市模型的构建方法及装置 | |
US9659404B2 (en) | Normalized diffusion profile for subsurface scattering rendering | |
CN104112034A (zh) | 用于实施路径空间滤波的系统、方法和计算机程序产品 | |
CN103136399A (zh) | 面向室内场景的辐射度并行绘制系统和方法 | |
CN115803782A (zh) | 具有实时深度图的感受几何结构的增强现实效果 | |
CN107180447B (zh) | 一种获得光照强度的方法及装置 | |
US9824487B2 (en) | Storage medium, luminance computation apparatus and luminance computation method | |
CN103514624A (zh) | 估算参与介质接收到的光量的方法及相应的设备 | |
CN103729873A (zh) | 一种内容感知的环境光采样方法 | |
CN116883576A (zh) | 一种基于tbr+pt的协同渲染方法及装置 | |
CN103886636B (zh) | 基于光线投射步进补偿的实时烟雾渲染算法 | |
CN114596401A (zh) | 渲染方法、设备以及系统 | |
CN107578476B (zh) | 一种医疗器械三维模型的视觉效果处理方法及装置 | |
CN112884876B (zh) | 支持昼夜交替的全局光照方法及计算机可读存储介质 | |
CN106612197B (zh) | 一种网络缩略图生成方法及设备 | |
Yun et al. | Physically inspired, interactive lightning generation | |
CN114283267A (zh) | 一种阴影图确定方法及装置 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 |
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 |