CN114022601A - 一种体积元素渲染方法、装置及设备 - Google Patents
一种体积元素渲染方法、装置及设备 Download PDFInfo
- Publication number
- CN114022601A CN114022601A CN202111302430.5A CN202111302430A CN114022601A CN 114022601 A CN114022601 A CN 114022601A CN 202111302430 A CN202111302430 A CN 202111302430A CN 114022601 A CN114022601 A CN 114022601A
- Authority
- CN
- China
- Prior art keywords
- volume element
- editing
- target
- edited
- space
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000011218 segmentation Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005266 casting Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种体积元素渲染方法、装置及设备,先在网页显示页面的展示区域内获取选择位置,其中,展示区域用于显示体积元素编辑空间,体积元素编辑空间包括空间边界和待编辑体积元素,体积元素编辑空间是用于用户选择所要编辑的体积元素的;通过获取选择位置,可以确定用户所要编辑的体积元素;基于选择位置和体积元素编辑空间,可以在体积元素编辑空间的待编辑体积元素中确定目标体积元素;最后,向图形处理器发送编辑参数,以便图形处理器基于编辑参数渲染目标体积元素,进而生成渲染图像。如此能够将前端对目标体积元素的处理同步至后端,实现后端的实时渲染。基于浏览器实现对体积元素的编辑和渲染,便于用户操作。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种体积元素渲染方法、装置及设备。
背景技术
体积元素是数字数据于三维空间分割上的最小单位。通过编辑体积元素,可以构建三维场景。再对构建的三维场景中的体积元素进行渲染,可以得到三维场景对应的渲染图像。
目前,需要使用编辑体积元素的应用程序实现体积元素的渲染。而编辑体积元素的应用程序在设备中的运行环境受限,不能较为方便地利用编辑体积元素的应用程序进行体积元素的渲染。
发明内容
有鉴于此,本申请实施例提供一种体积元素渲染方法、装置及设备,能够实现较为方便的体积元素的编辑和渲染。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供一种体积元素渲染方法,所述方法包括:
在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
第二方面,本申请实施例提供一种体积元素渲染装置,所述装置包括:
获取单元,用于在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
确定单元,用于基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
渲染单元,用于向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
第三方面,本申请实施例提供一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任一实施例所述的方法。
第四方面,本申请实施例提供一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现第一方面中任一实施例所述的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供的一种体积元素渲染方法、装置及设备,先在网页显示页面的展示区域内获取选择位置,其中,展示区域用于显示体积元素编辑空间,体积元素编辑空间包括空间边界和待编辑体积元素,体积元素编辑空间是用于用户选择所要编辑的体积元素的;通过获取选择位置,可以确定用户所要编辑的体积元素;基于选择位置和体积元素编辑空间,可以在体积元素编辑空间的待编辑体积元素中确定目标体积元素;最后,向图形处理器发送编辑参数,以便图形处理器基于编辑参数渲染目标体积元素,进而生成渲染图像。如此,基于用户在网页显示页面,也就是在前端触发的选择位置,可以确定用户所要编辑的目标体积元素,并基于编辑参数,可以对体积元素进行设置,实现在后端的渲染。通过将编辑参数同步至图形处理器,能够将前端对目标体积元素的处理同步至后端,实现后端的实时渲染。基于浏览器实现对体积元素的编辑和渲染,便于用户操作,扩大体积元素编辑的使用范围。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的示例性应用场景的框架示意图;
图2为本申请实施例提供的一种体积元素渲染方法的流程图;
图3为本申请实施例提供的一种浏览器的网页显示页面中体积元素编辑空间的示意图;
图4为本申请实施例提供的一种DAE文件的浏览效果示意图;
图5为本申请实施例提供的一种DAE文件的浏览效果示意图;
图6为本申请实施例提供的一种建筑风格的图像的示意图;
图7为本申请实施例提供的一种体积元素渲染装置的结构示意图;
图8为本申请实施例提供的一种电子设备的基本结构的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
在对传统的对体积元素的编辑和渲染过程进行研究后发现,目前使用体积元素的绘制软件进行对体积元素的编辑和渲染。体积元素的绘制软件,例如可以为MagicaVoxel(一种体积元素绘制软件)。用户需要下载体积元素的绘制软件进行体积元素的绘制。并且,部分体积元素的绘制软件的运行环境有限,只能在特定的程序的运行环境中运行。用户基于体积元素的绘制软件进行体积元素的编辑和渲染,较为不便。
基于此,本申请实施例提供一种体积元素渲染方法、装置及设备,先在网页显示页面的展示区域内获取选择位置,其中,展示区域用于显示体积元素编辑空间,体积元素编辑空间包括空间边界和待编辑体积元素,体积元素编辑空间是用于用户选择所要编辑的体积元素的;通过获取选择位置,可以确定用户所要编辑的体积元素;基于选择位置和体积元素编辑空间,可以在体积元素编辑空间的待编辑体积元素中确定目标体积元素;最后,向图形处理器发送编辑参数,以便图形处理器基于编辑参数渲染目标体积元素,进而生成渲染图像。如此,基于用户在网页显示页面,也就是在前端触发的选择位置,可以确定用户所要编辑的目标体积元素,并基于编辑参数,可以对体积元素进行设置,实现在后端的渲染。通过将编辑参数同步至图形处理器,能够将前端对目标体积元素的处理同步至后端,实现后端的实时渲染。基于浏览器实现对体积元素的编辑和渲染,便于用户操作,扩大体积元素编辑的使用范围。
为了便于理解本申请实施例提供的体积元素渲染方法,下面结合图1所示的场景示例进行说明。参见图1所示,该图为本申请实施例提供的示例性应用场景的框架示意图。
在实际应用中,在用户打开浏览器101中体积元素的绘制页面时,网页显示页面会在展示区域内显示体积元素编辑空间。体积元素编辑空间包括空间边界和待编辑体积元素。其中,空间边界用于明确体积元素编辑空间的范围,待编辑体积元素是对体积元素编辑空间划分得到的。体积元素编辑空间以及待编辑体积元素,均是可以根据需要设置的。用户在网页显示页面中的展示区域内触发确定选择位置时,前端可以基于选择位置和体积元素编辑空间的相对位置,确定用户所选择的体积元素。用户可以输入编辑参数用来编辑所选择的目标体积元素。浏览器101获取编辑参数,并将编辑参数发送至图像处理器102。图像处理器102基于编辑参数,可以在后端同步设置体积元素,并进行渲染,得到渲染图像103。对应的,浏览器101可以基于编辑参数,调整目标体积元素的显示效果,以便向用户显示体素场景下的编辑效果。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
基于上述说明,下面将结合附图对本申请提供的体积元素渲染方法进行详细说明。
首先需要说明的是,本申请实施例提供的体积元素渲染方法应用于支持浏览器以及图形处理器的设备,例如,可以为台式计算机、笔记本电脑等设备。
参见图2,该图为本申请实施例提供的一种体积元素渲染方法的流程图,如图2所示,方法可以包括S201-S203:
S201:在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的。
网页显示页面是浏览器中用于进行体积元素编辑的页面。网页显示页面能够实现三维场景的显示和编辑。在一种可能的实现方式中,可以使用三维引擎,例如,laya(一种前端引擎),作为网页显示页面的引擎,提供三维场景的构建与编辑。还可以基于WebGL(WebGraphics Library,Web图形库)实现对体积元素的渲染。WebGL是一种3D绘图协议用于在浏览器中展示三维场景以及三维模型。基于WebGL可以创建三维结构的网页页面。
网页显示页面具有展示区域。展示区域中显示体积元素编辑空间。体积元素编辑空间是构建的三维场景空间。体积元素编辑空间的形状和体积大小可以由用户设置。用户可以在进入网页显示页面后,创建体积元素编辑空间。体积元素编辑空间包括空间边界和待编辑体积元素。空间边界用于明确体积元素编辑空间的空间范围,以便用户在体积元素编辑空间中实现体积元素的编辑。
空间边界可以包括边界框和边界面。在一种可能的实现方式中,为了便于用户明确空间边界,可以为空间边界的边界框设置着色器。着色器用于渲染空间边界的边界框,以便向用户更为明显地显示体积元素编辑空间。
待编辑体积元素是对体积元素编辑空间划分得到的。待编辑体积元素可以是基于用户设置的划分方式对体积元素编辑空间划分得到的。例如,用户可以设置将体积元素编辑空间划分为10×10×10,也就是1000个待编辑体积元素。待编辑体积元素也可以是按照预设的划分方式对体积元素编辑空间划分得到的。又例如,可以按照预先设置的划分方式将体积元素编辑空间划分为5×5×5,也就是125个待编辑体积元素。本申请实施例对此不做限定。
另外,本申请实施例不限定体积元素编辑空间的展现视角的调整方式。在一种可能的实现方式中,可以增加视角交互功能,以便在用户触发视角变化时,从多个角度显示体积元素编辑空间。视角交互功能可以基于三维引擎实现。
S202:基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素。
选择位置是由用户触发的。选择位置对应于体积元素编辑空间中的一个点、一条线或者是一个空间。在构建的体积元素编辑空间中,利用选择位置确定目标体积元素。目标体积元素为用户选择的待编辑体积元素。选择位置可以是一个点的位置,也可以是一个空间所在的位置。选择位置可以基于用户的选择方式确定。例如,用户可以点击一次,作为一个空间中的点,对应得到一个选择位置。又例如,用户可以点击两次,得到两个空间中的点。以这两个点作为立方体的对角线的端点,可以构建得到一个空间。
对应于数量不同的选择位置,本申请实施例提供两种基于所述选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素的具体实施方式,具体请参见下文。
S203:向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
编辑参数可以是用户输入的,或者是预先设置的编辑体积元素的参数。编辑参数可以根据所能实现的体积元素的渲染功能设置参数的种类。
在得到目标体积元素的编辑参数后,向图像处理器发送。图像处理器可以基于编辑参数渲染目标体积元素,得到渲染图像。
在一种可能的实现方式中,图形处理器可以对应修改后端存储的目标体积元素的编辑参数,再基于修改后的各个待编辑体积元素对应的编辑参数,对每个待编辑体积元素进行处理,实现对包括目标体积元素的待编辑体积元素的渲染。
以上述利用WebGL为渲染框架为例,WebGL在获取最小单元的数据量的编辑参数后,可以基于图形处理器进行对体积元素的渲染处理,保证渲染体积元素的帧率。
基于上述S201-S203的相关内容可知,通过用户在浏览器的页面中编辑目标体积元素,浏览器对应调整目标体积元素的编辑参数,并将目标体积元素的编辑参数发送至图像处理器,实现编辑参数的同步。对应的,图像处理器能够基于编辑参数对目标体积元素进行渲染,得到渲染图像。如此,可以利用浏览器实现对体积元素的编辑,并通过同步编辑参数,能够实现在后端的图形处理器渲染体积元素,便于用户对体积元素进行编辑。
在一种可能的实现方式中,本申请实施例提供一种向图形处理器发送所述目标体积元素的编辑参数的具体实施方式,包括以下两个步骤:
A1:根据所述编辑参数设置所述目标体积元素的纹理参数。
A2:向图形处理器发送所述目标体积元素的纹理参数。
纹理参数是与体积元素对应的参数。纹理参数可以是与体积元素显示状态以及显示样式相关的参数。每个待编辑体积元素具有对应的纹理参数。在一种可能的实现方式中,纹理参数可以储存在纹理中。纹理与体积元素的数量相同,用于储存各个体积元素对应的纹理参数。
其中,纹理用于实现着色器对体积元素的渲染。着色器是在计算机图形中指由图形资源主要用于执行渲染效果的一组软件指令或程序的术语。基于纹理中储存的纹理参数,着色器可以实现对体积元素的渲染,将三维的体积元素转换为对应的二维的像素。一个体积元素可以对应一个像素。
编辑参数可以与纹理参数对应。在一种可能的实现方式中,纹理参数包括显示参数、颜色参数和密度参数中的一个或者多个。
显示参数可以用于表示对应的体积元素是否存在。在一种可能的实现方式中,当显示参数为1时,表示体积元素存在,或者是非透明的状态。当显示参数为0时,表示体积元素不存在,或者为透明的状态。
颜色参数用于表示体积元素的颜色。密度参数用于表示体积元素的密度。图形处理器中的着色器可以根据颜色参数对体积元素的颜色进行渲染。着色器也可以根据密度参数对体积元素的密度进行渲染。在一种可能的实现方式中,浏览器可以创建两个缓冲器,分别用来存储颜色参数和密度参数。其中,每个缓冲器能够储存的数据量与体积元素数量相同。
除生成渲染图像之外,还可以将编辑的体积元素编辑空间所在的三维场景导出为DAE格式的文件。DAE格式的文件为三维模型文件。参见图3所示,该图为本申请实施例提供一种浏览器的网页显示页面中体积元素编辑空间的示意图。参见图4所示,该图为本申请实施例提供的一种DAE文件的浏览效果示意图。其中,该DAE文件是根据图3中的体积元素编辑空间导出生成的。进一步的,基于不同数量的选择位置,本申请实施例提供两种基于所述选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素的具体实施方式。
第一种:选择位置包括一个第一点击位置。
所述基于所述选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括以下四个步骤:
B1:将所述展示区域的视线原点作为射线原点。
首先需要说明的是,展示区域在显示体积元素编辑空间时,是以视线原点作为用户观看的点进行显示的。视线原点为视线的出发点。视线原点与体积元素编辑空间之间的相对位置决定体积元素编辑空间显示的角度。
第一点击位置可以是将用户在屏幕中触发点击的位置转换至体积元素编辑空间所在的三维场景中的得到的位置。
基于视线原点和第一点击位置,就可以确定目标体积元素。先将视线原点作为射线原点,以实现第一点击位置到空间边界的投影。
B2:将从所述视线原点到所述第一点击位置的方向作为射线方向。
射线方向是用于表示射线前进的方向。将从视线原点到第一点击位置的方向确定为射线方向。
B3:基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点。
根据射线原点、射线方向以及体积元素编辑空间,可以得到由射线原点和射线方向构建的射线进入体积元素编辑空间的进入交点。进入交点位于空间边界上。
在一种可能的实现方式中,本申请实施例提供一种基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点的具体实施方式,包括以下步骤:
利用所述射线原点和所述射线方向构建目标射线;
将沿着所述射线方向,所述目标射线与所述空间边界的第一个交点作为进入交点。
先利用射线原点和射线方向构建目标射线。目标射线可以模拟用户选择待编辑体积元素时的视线,也表示第一点击位置到空间边界的投影过程。
目标射线可以与体积元素编辑空间的空间边界具有一个或者多个交点。目标射线与空间边界的交点可以是利用求交运算计算得到的。
在当目标射线与体积元素编辑空间的空间边界具有多个交点时,将从射线原点开始沿着射线方向,目标射线与空间边界的第一个交点作为进入交点。
B4:根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素。
再基于进入交点和射线方向,可以确定在体积元素编辑空间中的视线部分,可以将视线所触碰到的待编辑体积元素作为目标体积元素。
进一步的,本申请实施例提供两种根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素的具体实施方式,具体请参见下文。
在本申请实施例中,通过一个第一点击位置和视线原点,可以形成用户选择目标体积元素时对应的视线,进而确定目标体积元素。如此可以较为准确地确定用户在浏览器的网页显示页面中选择的目标体积元素,便于实现后续对目标体积元素的编辑和渲染。
在一种可能的实现方式中,可以采用光线步进算法确定目标体积元素。具体的,本申请实施例提供一种根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素的具体实施方式,包括:
重复执行以下步骤,直到第i步进位置不属于所述体积元素编辑空间或者确定目标体积元素为止:
以第i步进位置为起点,沿着所述射线方向前进预设步长,到达第i+1步进位置,i为正整数,i的初始值为1,第1步进位置为所述进入交点;
若所述第i+1步进位置所在的待编辑体积元素满足编辑条件,将所述第i+1步进位置所在的待编辑体积元素确定为目标体积元素,所述编辑条件由编辑指令确定;
若所述第i+1步进位置所在的待编辑体积元素不满足编辑条件,将i加1。
为了便于理解,下面从i=1开始说明。
在确定进入交点后,将进入交点作为第一次步进的起点,也就是第1步进位置,沿着射线方向前进预设步长,到达第2步进位置。其中,预设步长为预先设置的前进距离。在一种可能的实现方式中,预设步长可以根据待编辑体积元素的尺寸确定。
达到第2步进位置时,判断第2步进位置所在的待编辑体积元素是否满足编辑条件。
编辑条件是根据编辑指令确定的。编辑指令可以是用户触发的,指示所要编辑的待编辑体积元素需要满足的编辑条件。例如,用户可以通过触发在网页显示页面中设置的“新增”按键,触发生成对应的编辑指令,用于增加体积元素。编辑条件可以是待编辑体积元素处于未显示状态。未显示状态是指待编辑体积元素没有显示,从视觉上可以认为是不存在的。又或者,基于用户所编辑的具体场景,编辑条件为待编辑体积元素处于未显示状态,并且与处于显示状态的待编辑体积元素相邻。如此,在浏览器的网页显示页面中,用户就可以实现基于存在的体积元素,在附近增加新的体积元素的操作。还例如,编辑条件可以为处于未显示状态的待编辑体积元素,并且与空间边界相邻。在当空间边界为体积元素编辑空间的底部的空间边界时,用户可以实现从体积元素编辑空间的底部开始创建体积元素的操作。此外,编辑指令还可以是修改待编辑体积元素的指令。对应的,编辑条件可以是待编辑体积元素处于显示状态。用户就能够实现对已经创建的体积元素进行颜色、密度等参数的修改,还可以将体积元素设置为未显示状态,也就是实现删除体积元素的效果。在一种可能的实现方式中,待编辑体积元素的显示状态可以基于待编辑体积元素的编辑参数确定。
如果第2步进位置的待编辑体积元素符合编辑条件,则可以将第2步进位置的待编辑体积元素确定为目标体积元素,满足停止重复执行的条件。执行后续向图像处理器发送编辑参数的步骤。
如果第2步进位置的待编辑体积元素不符合编辑条件,则需要进一步步进。将i的取值加1,得到i的取值为2。
再以第2步进位置为起点,沿着射线方向前进预设步长,到达第3步进位置。同样对第3步进位置的待编辑体积元素是否满足编辑条件进行判断。如果不满足,则继续将i的取值加1,得到i的取值为3。
再重复执行确定下一个步进位置,并对待编辑体积元素是否满足编辑条件进行判断的步骤,直到确定目标体积元素,或者第i步进位置不属于体积元素编辑空间为止。
在一种可能的实现方式中,在计算进入交点时,还可以计算得到输出交点。输出交点可以是从射线原点沿着射线方向,目标射线与空间边界的最后一个交点。可以基于第i步进位置与输出交点之间的位置关系,确定第i步进位置是否属于体积元素编辑空间。
基于上述内容可知,在前端采用光线步进算法,可以确定用户所选择的要进行编辑的目标体积元素,便于用户在浏览器的网页显示页面中实现目标体积元素的选择操作。
第二种:选择位置包括两个第二点击位置。
基于所述选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括以下两个步骤:
基于所述第二点击位置,建立选择空间;
将所述选择空间包括的待编辑体积元素作为目标体积元素。
用户可以触发点击屏幕中的两个位置,对应确定两个第二点击位置。第二点击位置可以是将屏幕中的位置转换至体积元素编辑空间所在的三维场景中的得到的位置。
第二点击位置可以是用户开始点击的屏幕位置和用户拖动后释放点击的屏幕位置所对应的体积元素编辑空间所在的三维场景中的得到的位置。
在确定第二点击位置之后,可以基于两个第二点击位置建立选择空间。例如可以将两个第二点击位置作为立方体的对角线的端点,可以构建得到一个立方体形状的选择空间。
将选择空间中包括的待编辑体积元素作为目标体积元素。在一种可能的实现方式中,可以遍历选择空间中的空间点,确定选择空间中空间点的坐标。再将各个待编辑体积元素所包括的空间点的坐标与选择空间中的空间点的坐标进行比对,确定属于选择空间的待编辑体积元素。其中,空间点的坐标属于包括体积元素编辑空间的三维场景中构建的坐标系。
在一种可能的实现方式中,图形处理器可以基于着色器在体积元素渲染空间中确定目标体积元素。体积元素渲染空间由着色器构建,与体积元素编辑空间对应。体积元素渲染空间所包括的体积元素,与体积元素编辑空间所包括的待编辑体积元素相同。着色器用于采用光线投射算法在体积元素渲染空间中确定目标体积元素,并基于目标体积元素所对应的编辑参数进行渲染,得到渲染图像。具体的,图形处理器可以根据获取的目标体积元素的编辑参数更新所保存的体积元素的编辑参数。着色器在执行光线投射算法时,由视线原点生成多条射线,覆盖所构建的视线范围。基于每条射线与体积元素渲染空间的进入交点步进,确定每个步进位置所对应的体积元素的编辑参数,基于编辑参数对该体积元素进行渲染。如此可以对体积元素渲染空间中的每个体积元素进行渲染处理,生成对应与体积元素编辑空间的完整的渲染图像。具体的,还可以先基于编辑参数设置体积元素的纹理参数。着色器可以基于体积元素的纹理参数进行渲染。着色器基于纹理参数进行渲染的过程与基于编辑参数进行渲染的过程类似,在此不再赘述。
基于光线投射算法进行体积元素的渲染,还可以得到射线与体积元素的碰撞点的面朝向、阴影、漫反射等光线信息。根据获取的光线信息,能够实现更为细致的光线处理和纹理映射,提高体积元素进行渲染后得到的渲染图像的质量。
在一种可能的实现方式中,除上述步骤以外,所述方法还包括:
基于所述编辑参数调整所述目标体积元素的显示样式;
在所述体积元素编辑空间中按照所述显示样式显示所述目标体积元素。
根据获取的编辑参数,可以确定目标体积元素对应的显示样式。并基于确定显示样式,在体积元素编辑空间中显示目标体积元素。如此,用户可以确定当前对体积元素的编辑情况,便于用户编辑。
进一步的,还可以基于体积元素编辑空间中体积元素的显示样式,生成特定风格的场景图像。
本申请实施例提供一种体积元素渲染方法,除上述步骤以外,所述方法还包括:
基于所述体积元素编辑空间中各个待编辑体积元素,生成目标分割图;
将所述目标分割图输入目标图像处理模型中,得到所述目标图像处理模型输出的目标场景图像,所述目标图像处理模型用于基于输入的分割图输出对应的场景图像。
具体的,可以基于各个待编辑体积元素的显示样式,对应生成目标分割图。目标分割图可以是颜色分割图。颜色分割图是基于图像中像素的颜色对图像进行图像分割处理得到的。在一种可能的实现方式中,可以对网页显示页面进行截图,将得到的图像进行处理得到目标分割图。
将得到的目标分割图输入目标图像处理模型,得到由目标图像处理模型输出的目标场景图像。其中,目标图像处理模型可以是基于生成对抗网络训练得到的。在一种可能的实现方式中,可以将分割图像和特定场景的场景图像作为训练图像。将分割图像输入生成对抗网络的生成网络中,得到生成网络输出的输出图像。再将分割图像、输出图像和场景图像输入判别网络中,得到对抗损失。再基于对抗损失对生成网络和判别网络的参数进行调整,在满足预设训练条件后,得到训练好的目标图像处理模型。其中,特定场景可以基于需要生成的场景图像设置。参见图5所示,该图为本申请实施例提供的一种网页显示页面的示意图。参见图6所示,该图为本申请实施例提供的一种建筑风格的图像的示意图。图6中的建筑风格的图像是利用目标图像处理模型基于图5中的网页显示页面生成的。
基于上述方法实施例提供的一种体积元素渲染方法,本申请实施例还提供了一种体积元素渲染装置,下面将结合附图对体积元素渲染装置进行说明。
参见图7所示,该图为本申请实施例提供的一种体积元素渲染装置的结构示意图。如图7所示,该体积元素渲染装置包括:
获取单元701,用于在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
确定单元702,用于基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
渲染单元703,用于向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
在一种可能的实现方式,所述选择位置包括一个第一点击位置;
所述确定单元702,包括:
第一确定子单元,用于将所述展示区域的视线原点作为射线原点;
第二确定子单元,用于将从所述视线原点到所述第一点击位置的方向作为射线方向;
第三确定子单元,用于基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点;
第四确定子单元,用于根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素。
在一种可能的实现方式,所述第三确定子单元,具体用于利用所述射线原点和所述射线方向构建目标射线;
将沿着所述射线方向,所述目标射线与所述空间边界的第一个交点作为进入交点。
在一种可能的实现方式,所述第四确定子单元,具体用于重复执行以下步骤,直到第i步进位置不属于所述体积元素编辑空间,或者确定目标体积元素为止:以第i步进位置为起点,沿着所述射线方向前进预设步长,到达第i+1步进位置,i为正整数,i的初始值为1,第1步进位置为所述进入交点;
若所述第i+1步进位置所在的待编辑体积元素满足编辑条件,将所述第i+1步进位置所在的待编辑体积元素确定为目标体积元素,所述编辑条件由编辑指令确定;
若所述第i+1步进位置所在的待编辑体积元素不满足编辑条件,将i加1。
在一种可能的实现方式,所述选择位置包括两个第二点击位置;
所述确定单元702,具体用于基于所述第二点击位置,建立选择空间;
将所述选择空间包括的待编辑体积元素作为目标体积元素。
在一种可能的实现方式,所述渲染单元703,具体用于根据所述编辑参数设置所述目标体积元素的纹理参数;向图形处理器发送所述目标体积元素的纹理参数。
在一种可能的实现方式,所述纹理参数包括显示参数、颜色参数和密度参数中的一个或者多个。
在一种可能的实现方式,所述图形处理器包括着色器,所述着色器用于采用光线投射算法在体积元素渲染空间确定所述目标体积元素,并根据所述目标体积元素对应的编辑参数进行渲染,生成所述渲染图像,所述体积元素渲染空间与所述体积元素编辑空间对应。
在一种可能的实现方式,所述装置还包括:
调整单元,用于基于所述编辑参数调整所述目标体积元素的显示样式;
显示单元,用于在所述体积元素编辑空间中按照所述显示样式显示所述目标体积元素。
在一种可能的实现方式,所述装置还包括:
第一生成单元,用于基于所述体积元素编辑空间中各个待编辑体积元素,生成目标分割图;
第二生成单元,用于将所述目标分割图输入目标图像处理模型中,得到所述目标图像处理模型输出的目标场景图像,所述目标图像处理模型用于基于输入的分割图输出对应的场景图像。
基于上述方法实施例提供的一种体积元素渲染方法,本申请还提供一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的体积元素渲染方法。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备800的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant,个人数字助理)、PAD(portable androiddevice,平板电脑)、PMP(Portable Media Player,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV(television,电视机)、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置808;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM802被安装。在该计算机程序被处理装置801执行时,执行本申请实施例的方法中限定的上述功能。
本申请实施例提供的电子设备与上述实施例提供的体积元素渲染方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
基于上述方法实施例提供的一种体积元素渲染方法,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一实施例所述的体积元素渲染方法。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述体积元素渲染方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本申请的一个或多个实施例,【示例一】提供了一种体积元素渲染方法,所述方法包括:
在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
根据本申请的一个或多个实施例,【示例二】提供了一种体积元素渲染方法,所述选择位置包括一个第一点击位置;
所述基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括:
将所述展示区域的视线原点作为射线原点;
将从所述视线原点到所述第一点击位置的方向作为射线方向;
基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点;
根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素。
根据本申请的一个或多个实施例,【示例三】提供了一种体积元素渲染方法,所述基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点,包括:
利用所述射线原点和所述射线方向构建目标射线;
将沿着所述射线方向,所述目标射线与所述空间边界的第一个交点作为进入交点。
根据本申请的一个或多个实施例,【示例四】提供了一种体积元素渲染方法,所述根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素,包括:
重复执行以下步骤,直到第i步进位置不属于所述体积元素编辑空间,或者确定目标体积元素为止:以第i步进位置为起点,沿着所述射线方向前进预设步长,到达第i+1步进位置,i为正整数,i的初始值为1,第1步进位置为所述进入交点;
若所述第i+1步进位置所在的待编辑体积元素满足编辑条件,将所述第i+1步进位置所在的待编辑体积元素确定为目标体积元素,所述编辑条件由编辑指令确定;
若所述第i+1步进位置所在的待编辑体积元素不满足编辑条件,将i加1。
根据本申请的一个或多个实施例,【示例五】提供了一种体积元素渲染方法,所述选择位置包括两个第二点击位置;
所述基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括:
基于所述第二点击位置,建立选择空间;
将所述选择空间包括的待编辑体积元素作为目标体积元素。
根据本申请的一个或多个实施例,【示例六】提供了一种体积元素渲染方法,所述向图形处理器发送所述目标体积元素的编辑参数,包括:
根据所述编辑参数设置所述目标体积元素的纹理参数;向图形处理器发送所述目标体积元素的纹理参数。
根据本申请的一个或多个实施例,【示例七】提供了一种体积元素渲染方法,所述纹理参数包括显示参数、颜色参数和密度参数中的一个或者多个。
根据本申请的一个或多个实施例,【示例八】提供了一种体积元素渲染方法,所述图形处理器包括着色器,所述着色器用于采用光线投射算法在体积元素渲染空间确定所述目标体积元素,并根据所述目标体积元素对应的编辑参数进行渲染,生成所述渲染图像,所述体积元素渲染空间与所述体积元素编辑空间对应。
根据本申请的一个或多个实施例,【示例九】提供了一种体积元素渲染方法,所述方法还包括:
基于所述编辑参数调整所述目标体积元素的显示样式;
在所述体积元素编辑空间中按照所述显示样式显示所述目标体积元素。
根据本申请的一个或多个实施例,【示例十】提供了一种体积元素渲染方法,所述方法还包括:
基于所述体积元素编辑空间中各个待编辑体积元素,生成目标分割图;
将所述目标分割图输入目标图像处理模型中,得到所述目标图像处理模型输出的目标场景图像,所述目标图像处理模型用于基于输入的分割图输出对应的场景图像。
根据本申请的一个或多个实施例,【示例十一】提供了一种体积元素渲染装置,所述装置包括:
获取单元,用于在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
确定单元,用于基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
渲染单元,用于向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
根据本申请的一个或多个实施例,【示例十二】提供了一种体积元素渲染装置,所述选择位置包括一个第一点击位置;
所述确定单元,包括:
第一确定子单元,用于将所述展示区域的视线原点作为射线原点;
第二确定子单元,用于将从所述视线原点到所述第一点击位置的方向作为射线方向;
第三确定子单元,用于基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点;
第四确定子单元,用于根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素。
根据本申请的一个或多个实施例,【示例十三】提供了一种体积元素渲染装置,所述第三确定子单元,具体用于利用所述射线原点和所述射线方向构建目标射线;
将沿着所述射线方向,所述目标射线与所述空间边界的第一个交点作为进入交点。
根据本申请的一个或多个实施例,【示例十四】提供了一种体积元素渲染装置,所述第四确定子单元,具体用于重复执行以下步骤,直到第i步进位置不属于所述体积元素编辑空间,或者确定目标体积元素为止:以第i步进位置为起点,沿着所述射线方向前进预设步长,到达第i+1步进位置,i为正整数,i的初始值为1,第1步进位置为所述进入交点;
若所述第i+1步进位置所在的待编辑体积元素满足编辑条件,将所述第i+1步进位置所在的待编辑体积元素确定为目标体积元素,所述编辑条件由编辑指令确定;
若所述第i+1步进位置所在的待编辑体积元素不满足编辑条件,将i加1。
根据本申请的一个或多个实施例,【示例十五】提供了一种体积元素渲染装置,所述选择位置包括两个第二点击位置;
所述确定单元,具体用于基于所述第二点击位置,建立选择空间;
将所述选择空间包括的待编辑体积元素作为目标体积元素。
根据本申请的一个或多个实施例,【示例十六】提供了一种体积元素渲染装置,所述渲染单元,具体用于根据所述编辑参数设置所述目标体积元素的纹理参数;向图形处理器发送所述目标体积元素的纹理参数。
根据本申请的一个或多个实施例,【示例十七】提供了一种体积元素渲染装置,所述纹理参数包括显示参数、颜色参数和密度参数中的一个或者多个。
根据本申请的一个或多个实施例,【示例十八】提供了一种体积元素渲染装置,所述图形处理器包括着色器,所述着色器用于采用光线投射算法在体积元素渲染空间确定所述目标体积元素,并根据所述目标体积元素对应的编辑参数进行渲染,生成所述渲染图像,所述体积元素渲染空间与所述体积元素编辑空间对应。
根据本申请的一个或多个实施例,【示例十九】提供了一种体积元素渲染装置,所述装置还包括:
调整单元,用于基于所述编辑参数调整所述目标体积元素的显示样式;
显示单元,用于在所述体积元素编辑空间中按照所述显示样式显示所述目标体积元素。
根据本申请的一个或多个实施例,【示例二十】提供了一种体积元素渲染装置,所述装置还包括:
第一生成单元,用于基于所述体积元素编辑空间中各个待编辑体积元素,生成目标分割图;
第二生成单元,用于将所述目标分割图输入目标图像处理模型中,得到所述目标图像处理模型输出的目标场景图像,所述目标图像处理模型用于基于输入的分割图输出对应的场景图像。
根据本申请的一个或多个实施例,【示例二十一】提供了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如【示例一】至【示例十】中任一所述的方法。
根据本申请的一个或多个实施例,【示例二十二】提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如【示例一】至【示例十】中任一所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种体积元素渲染方法,其特征在于,所述方法包括:
在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
2.根据权利要求1所述的方法,其特征在于,所述选择位置包括一个第一点击位置;
所述基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括:
将所述展示区域的视线原点作为射线原点;
将从所述视线原点到所述第一点击位置的方向作为射线方向;
基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点;
根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素。
3.根据权利要求2所述的方法,其特征在于,所述基于所述射线原点、所述射线方向和所述体积元素编辑空间,确定进入交点,包括:
利用所述射线原点和所述射线方向构建目标射线;
将沿着所述射线方向,所述目标射线与所述空间边界的第一个交点作为进入交点。
4.根据权利要求2所述的方法,其特征在于,所述根据所述进入交点和所述射线方向,在所述待编辑体积元素中确定目标体积元素,包括:
重复执行以下步骤,直到第i步进位置不属于所述体积元素编辑空间,或者确定目标体积元素为止:以第i步进位置为起点,沿着所述射线方向前进预设步长,到达第i+1步进位置,i为正整数,i的初始值为1,第1步进位置为所述进入交点;
若所述第i+1步进位置所在的待编辑体积元素满足编辑条件,将所述第i+1步进位置所在的待编辑体积元素确定为目标体积元素,所述编辑条件由编辑指令确定;
若所述第i+1步进位置所在的待编辑体积元素不满足编辑条件,将i加1。
5.根据权利要求1所述的方法,其特征在于,所述选择位置包括两个第二点击位置;
所述基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素,包括:
基于所述第二点击位置,建立选择空间;
将所述选择空间包括的待编辑体积元素作为目标体积元素。
6.根据权利要求1所述的方法,其特征在于,所述向图形处理器发送所述目标体积元素的编辑参数,包括:
根据所述编辑参数设置所述目标体积元素的纹理参数;向图形处理器发送所述目标体积元素的纹理参数。
7.根据权利要求6所述的方法,其特征在于,所述纹理参数包括显示参数、颜色参数和密度参数中的一个或者多个。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述图形处理器包括着色器,所述着色器用于采用光线投射算法在体积元素渲染空间确定所述目标体积元素,并根据所述目标体积元素的编辑参数进行渲染,生成所述渲染图像,所述体积元素渲染空间与所述体积元素编辑空间对应。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
基于所述编辑参数调整所述目标体积元素的显示样式;
在所述体积元素编辑空间中按照所述显示样式显示所述目标体积元素。
10.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
基于所述体积元素编辑空间中各个待编辑体积元素,生成目标分割图;
将所述目标分割图输入目标图像处理模型中,得到所述目标图像处理模型输出的目标场景图像,所述目标图像处理模型用于基于输入的分割图输出对应的场景图像。
11.一种体积元素渲染装置,其特征在于,所述装置包括:
获取单元,用于在网页显示页面的展示区域内获取选择位置,所述展示区域用于显示体积元素编辑空间,所述体积元素编辑空间包括空间边界和待编辑体积元素,所述待编辑体积元素是划分所述体积元素编辑空间得到的;
确定单元,用于基于选择位置和所述体积元素编辑空间,在所述待编辑体积元素中确定目标体积元素;
渲染单元,用于向图形处理器发送所述目标体积元素的编辑参数,以便所述图形处理器基于所述编辑参数渲染所述目标体积元素,生成渲染图像。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302430.5A CN114022601A (zh) | 2021-11-04 | 2021-11-04 | 一种体积元素渲染方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302430.5A CN114022601A (zh) | 2021-11-04 | 2021-11-04 | 一种体积元素渲染方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114022601A true CN114022601A (zh) | 2022-02-08 |
Family
ID=80061382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111302430.5A Pending CN114022601A (zh) | 2021-11-04 | 2021-11-04 | 一种体积元素渲染方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114022601A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129553A (zh) * | 2022-07-04 | 2022-09-30 | 北京百度网讯科技有限公司 | 图可视化方法、装置、设备、介质及产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069642A (zh) * | 2006-05-12 | 2007-11-14 | 株式会社东芝 | 3维图像处理装置和重构区域指定方法 |
US20140002458A1 (en) * | 2012-06-27 | 2014-01-02 | Pixar | Efficient rendering of volumetric elements |
US20180114368A1 (en) * | 2016-10-25 | 2018-04-26 | Adobe Systems Incorporated | Three-dimensional model manipulation and rendering |
CN108288281A (zh) * | 2017-01-09 | 2018-07-17 | 翔升(上海)电子技术有限公司 | 视觉跟踪方法、视觉跟踪装置、无人机以及终端设备 |
CN109658524A (zh) * | 2018-12-11 | 2019-04-19 | 浙江科澜信息技术有限公司 | 一种三维模型的编辑方法、系统及相关装置 |
CN110009729A (zh) * | 2019-03-21 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于人工智能的三维体素建模方法及系统 |
CN111803952A (zh) * | 2019-11-21 | 2020-10-23 | 厦门雅基软件有限公司 | 地形图编辑方法、装置、电子设备及计算机可读介质 |
US10943388B1 (en) * | 2019-09-06 | 2021-03-09 | Zspace, Inc. | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces |
-
2021
- 2021-11-04 CN CN202111302430.5A patent/CN114022601A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069642A (zh) * | 2006-05-12 | 2007-11-14 | 株式会社东芝 | 3维图像处理装置和重构区域指定方法 |
US20140002458A1 (en) * | 2012-06-27 | 2014-01-02 | Pixar | Efficient rendering of volumetric elements |
US20180114368A1 (en) * | 2016-10-25 | 2018-04-26 | Adobe Systems Incorporated | Three-dimensional model manipulation and rendering |
CN108288281A (zh) * | 2017-01-09 | 2018-07-17 | 翔升(上海)电子技术有限公司 | 视觉跟踪方法、视觉跟踪装置、无人机以及终端设备 |
CN109658524A (zh) * | 2018-12-11 | 2019-04-19 | 浙江科澜信息技术有限公司 | 一种三维模型的编辑方法、系统及相关装置 |
CN110009729A (zh) * | 2019-03-21 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于人工智能的三维体素建模方法及系统 |
US10943388B1 (en) * | 2019-09-06 | 2021-03-09 | Zspace, Inc. | Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces |
CN111803952A (zh) * | 2019-11-21 | 2020-10-23 | 厦门雅基软件有限公司 | 地形图编辑方法、装置、电子设备及计算机可读介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129553A (zh) * | 2022-07-04 | 2022-09-30 | 北京百度网讯科技有限公司 | 图可视化方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112102437B (zh) | 一种基于Canvas的雷达图生成方法、装置、存储介质及终端 | |
CN110378947B (zh) | 3d模型重建方法、装置及电子设备 | |
CN112053370A (zh) | 基于增强现实的显示方法、设备及存储介质 | |
CN112954441B (zh) | 视频编辑及播放方法、装置、设备、介质 | |
CN114401443B (zh) | 特效视频处理方法、装置、电子设备及存储介质 | |
CN114461064B (zh) | 虚拟现实交互方法、装置、设备和存储介质 | |
WO2024016930A1 (zh) | 特效处理方法、装置、电子设备及存储介质 | |
CN115810101A (zh) | 三维模型风格化方法、装置、电子设备及存储介质 | |
CN111862349A (zh) | 虚拟画笔实现方法、装置和计算机可读存储介质 | |
CN113205601B (zh) | 漫游路径生成方法、装置、存储介质及电子设备 | |
CN114022601A (zh) | 一种体积元素渲染方法、装置及设备 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
WO2023197911A1 (zh) | 三维虚拟对象生成方法、装置、设备、介质和程序产品 | |
CN117078888A (zh) | 虚拟角色的服装生成方法、装置、介质及电子设备 | |
CN114428573B (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
CN115588064A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN115619904A (zh) | 图像处理方法、装置及设备 | |
CN114913277A (zh) | 一种物体立体交互展示方法、装置、设备及介质 | |
CN110390717B (zh) | 3d模型重建方法、装置及电子设备 | |
CN113742507A (zh) | 三维展示物品的方法及相关设备 | |
CN115311395A (zh) | 三维场景渲染方法、装置及设备 | |
CN113838214A (zh) | 数据生成方法、装置、电子设备及计算机可读介质 | |
CN113223110B (zh) | 画面渲染方法、装置、设备及介质 | |
CN111145358A (zh) | 图像处理方法、装置、硬件装置 | |
CN111489428B (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 |