CN115129191A - 三维对象拾取方法、装置、设备及存储介质 - Google Patents
三维对象拾取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115129191A CN115129191A CN202110328118.7A CN202110328118A CN115129191A CN 115129191 A CN115129191 A CN 115129191A CN 202110328118 A CN202110328118 A CN 202110328118A CN 115129191 A CN115129191 A CN 115129191A
- Authority
- CN
- China
- Prior art keywords
- texture
- dimensional object
- pixel
- preset
- rendered
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维对象拾取方法、装置、终端设备及存储介质,方法包括:通过预设一个颜色渐变且像素颜色唯一的构建纹理,在使用真实纹理对三维对象进行渲染的同时,也利用构建纹理对三维对象进行隐藏渲染,从而在进行图形拾取时,通过读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色,由于构建纹理中相邻位置的像素颜色是渐变的且每一位置的像素颜色唯一,因此可以保证由读取到的像素颜色能够反向查找出定位设备在渲染显示的三维对象上所指位置的坐标,由于本发明跳过了射线投射法中一系列坐标系变换的计算,因此需要的计算量小,即使在CPU性能有限的情况下,也不会出现页面卡顿的现象,能够给用户带来良好的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种三维对象拾取方法、装置、设备及存储介质。
背景技术
WebGL(Web Graphics Library,Web图形库)技术是用于在浏览器页面里展示3D对象,当用户与3D对象有具体的交互需求时,通过鼠标等定位设备进行位置拾取后确定拾取位置的3D对象坐标,这称为图形拾取。
目前,在WebGL技术中常用的是射线投射拾取法,即计算从定位设备发出的射线与3D对象的交点,然后通过与渲染过程相反的一系列坐标系变换计算,求出定位设备选中位置对应的3D对象坐标,计算量比较大,在3D对象渲染刷新率比较高的情况下,CPU负载比较大,并且如果硬件性能不足够好,还会造成浏览器页面卡顿,影响用户体验。
发明内容
本发明的目的是针对上述现有技术的不足提出的一种三维对象拾取方法、装置、设备及存储介质,该目的是通过以下技术方案实现的。
本发明的第一方面提出了一种三维对象拾取方法,所述方法包括:
利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一;
读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色;
确定读取的像素颜色对应在所述构建纹理上的纹理位置;
根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标。
本发明的第二方面提出了一种三维对象拾取装置,所述装置包括:
渲染模块,用于利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一;
颜色读取模块,用于读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色;
纹理坐标确定模块,用于确定读取的像素颜色对应在所述构建纹理上的纹理位置;
对象坐标确定模块,用于根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标。
本发明的第三方面提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述方法的步骤。
本发明的第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述方法的步骤。
基于上述第一方面和第二方面所述的三维对象拾取方法及装置,本发明至少具有如下有益效果或优点:
本发明通过预设一个颜色渐变且像素颜色唯一的构建纹理,在使用真实纹理对三维对象进行渲染的同时,也利用构建纹理对已渲染的三维对象进行隐藏渲染,从而在进行图形拾取时,通过读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色,由于构建纹理中相邻位置的像素颜色是渐变的且每一位置的像素颜色唯一,因此可以保证获得读取到的像素颜色对应在构建纹理上的纹理位置,又由于构建纹理上的部分纹理位置与三维对象顶点位置存在对应关系,因此可以根据该对应关系和由像素颜色获得的纹理位置反向查找出定位设备在已渲染的三维对象上所指位置的坐标,进而本发明能够跳过射线投射法中一系列坐标系变换的计算,因此需要的计算量小,即使在CPU性能有限的情况下,也不会出现页面卡顿的现象,能够给用户带来良好的使用体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明示出的一种三维模型渲染过程中涉及的一系列坐标系变换示意图;
图2为本发明根据一示例性实施例示出的一种三维对象拾取方法的实施例流程图;
图3为本发明根据一示例性实施例示出的一种浏览器页面展示示意图;
图4为本发明根据一示例性实施例示出的一种三维对象拾取方法的完整流程示意图;
图5为本发明根据一示例性实施例示出的一种三维对象拾取装置的结构示意图;
图6为本发明根据一示例性实施例示出的一种计算机设备的硬件结构示意图图;
图7为本发明根据一示例性实施例示出的一种存储介质的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着3D技术的发展,很多浏览器应用支持使用3D技术展示三维模型,当用户需要和三维模型有交互时,通过使用鼠标等定位设备拾取三维模型的某一位置以进行交互,因此需要计算三维模型中定位设备所拾取位置的坐标。
而目前使用的射线投射拾取法,每次拾取计算都需要进行与渲染过程相反的一系列坐标系变换计算,如图1所示,为三维模型渲染过程中涉及的一系列坐标系变换,三维对象的顶点数据从对象坐标系,经过模型视图变换,得到相机坐标系下的坐标,然后再经过投影变换(正视投影或者透视投影),得到裁剪空间坐标系的坐标,然后进行归一化,得到规范化设备坐标系(x,y,z坐标范围为[-1,1])下的坐标,然后经过视口变换,得到屏幕坐标系下的坐标,即最终的渲染结果。
由此可见,位置拾取所采用的一系列反向变换计算量很大,会给cpu带来很大的负载,甚至还会造成浏览器页面卡顿,给用户带来很不好的使用体验。
为解决上述技术问题,本发明提出一种改进的三维对象拾取方法,通过预设一个相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一的构建纹理,在利用三维对象的真实纹理对所述三维对象进行渲染显示的同时,也利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,通过读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色,由于构建纹理中相邻位置的像素颜色是渐变的且每一位置的像素颜色唯一,因此可以保证获得读取到的像素颜色对应在构建纹理上的纹理位置,又由于构建纹理上的部分纹理位置与三维对象顶点位置存在对应关系,因此可以根据该对应关系和由像素颜色获得的纹理位置反向查找出定位设备在已渲染的三维对象上所指位置的坐标。
基于上述描述可知,由于本发明跳过了射线投射法中一系列坐标系变换的计算,因此需要的计算量小,即使在CPU性能有限的情况下,也不会出现页面卡顿的现象,能够给用户带来良好的使用体验。
下面以具体实施例对本发明提出的三维对象拾取方法进行详细阐述。
实施例一:
图2为本发明根据一示例性实施例示出的一种三维对象拾取方法的实施例流程图,该三维对象拾取方法可以应用在计算机设备上,所述计算机设备可以是终端设备、手机、PC机等具有显示功能的设备,本实施例中的计算机设备可以安装浏览器应用,并在浏览器应用中执行所述三维对象拾取方法,以实现用户与三维对象的交互。
如图2所示,所述三维对象拾取方法包括如下步骤:
步骤201:利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一。
在执行步骤201之前,利用三维对象的真实纹理对三维对象进行渲染显示。其中,所述渲染显示指的是利用真实纹理按照一定的刷新频率渲染三维对象,也就是说,按照一定的刷新频率渲染的三维对象始终是用户可见的三维物体。
在一些实施例中,针对利用真实纹理渲染三维对象的过程,通过获取目标文件中包含的三维对象顶点位置与纹理位置的对应关系,并根据所述对应关系在真实纹理中读取每个三维对象顶点位置对应的像素颜色,进而利用每个三维对象顶点位置对应的像素颜色在画布窗口中按照预设频率刷新渲染三维对象,以使用户看到用真实纹理渲染的三维对象。
其中,三维对象的原始数据均包含在相应的目标文件中,该目标文件为obj文件,属于一种几何体图形文件格式,目标文件中包含有三维对象的每个顶点位置、与每个顶点位置一一对应的纹理位置、法线以及组成面(例如多边形、三角面片等)的顶点位置列表等原始数据。因此在真实纹理中读取到这些纹理位置对应的像素颜色,便可获得三维对象每个顶点位置的像素颜色。
在一可选的具体渲染方式中,可以利用顶点着色器将每个顶点位置的坐标转换到裁剪空间坐标系下的坐标,然后将转换结果传输给片段着色器,由片段着色器进行光栅化处理,并根据光栅化得到的组成面上的顶点位置的像素颜色进行插值,以获得组成面上每个点的像素颜色,并在画布窗口中绘制出来,从而实现三维对象的渲染。
需要说明的是,利用真实纹理渲染出的三维对象是按照一定的刷新频率渲染的,该刷新频率是用户肉眼无法感知到的,因此对于用户来说,始终能看到利用真实纹理渲染出的三维对象。
在一些实施例中,针对利用构建纹理隐藏渲染三维对象的过程,可以通过检测定位设备的拾取事件,当检测到拾取事件时,获取第一预设纹理位置与三维对象顶点位置的对应关系,进而根据所述对应关系,在构建纹理中读取每个三维对象顶点位置对应的像素颜色,并利用读取的每个三维对象顶点位置对应的像素颜色在画布窗口中渲染已渲染的三维对象,以完成隐藏渲染。
其中,隐藏渲染的目的是为了读取到定位设备在由构建纹理渲染的三维对象上所指位置的像素颜色,因此构建纹理的渲染只是有拾取事件时渲染一次,而并非按照一定刷新频率持续渲染,除此之外,其余时间都是真实纹理在进行渲染,即使如果有连续的拾取事件,由于真实纹理的刷新频率远远高于构建纹理的刷新频率,因此由构建纹理渲染的三维对象对于用户是隐藏的、不可见的,同时还可避免CPU性能的损耗。
其中,定位设备的拾取事件指的是用户需要与三维对象交互时,操控定位设备对三维对象进行拾取控制,因此需要获取到定位设备所指位置在三维对象上的的位置坐标。
可以理解的是,本申请中的定位设备指的是任何可以进行三维对象拾取控制的设备,例如鼠标、触摸笔等。
进一步地,第一预设纹理位置与三维对象顶点位置的对应关系可以采用已渲染三维对象的目标文件中包含的对应关系,当然也可以预先通过人工构建方式获得。
需要说明的是,在实际应用中,用户是根据真实纹理渲染的三维对象进行选择拾取,为了提高坐标拾取精确度,需要真实纹理与构建纹理使用一致的渲染参数进行渲染,例如,构建纹理使用的第一预设纹理位置与三维对象顶点位置的对应关系采用三维对象的目标文件中包含的对应关系。也就是说,除了读取三维对象顶点位置的像素颜色不同之外,其他过程均相同,最终的渲染结果是构建纹理渲染的三维对象与真实纹理渲染的三维对象在画布窗口上是重叠的,由于真实纹理的渲染是按照一定刷新频率进行渲染的,而构建纹理仅在有拾取事件触发时渲染,然后很快恢复真实纹理渲染的三维对象,因此用户始终看到的是真实纹理渲染的三维对象,构建纹理渲染的三维对象对用户来说是隐藏不可见的。
需要进一步说明的是,一方面,为了实现根据像素颜色反向确定出纹理位置,需要纹理贴图中的纹理位置与像素颜色是唯一对应的,这样就需要构建的纹理贴图中每一纹理位置的像素颜色都是唯一的,以便于根据像素颜色可以反推出唯一的纹理位置。
另一方面,在光栅化处理时,由三维对象顶点位置组成的三维对象的组成面上各个点的像素颜色是根据组成面上顶点位置的像素颜色插值得到,因此插值得到的像素颜色与组成面上顶点位置的像素颜色是有差异的,这就意味着用户在操作三维对象时读取到的像素颜色,可能不再是构建的纹理贴图中对应纹理位置的像素颜色,而是根据纹理贴图中的像素颜色插值得到的。基于此,本发明需要保证,光栅化处理得到的组成面上各个三维对象顶点位置对应的预设纹理位置在纹理贴图中的位置相邻,且根据各个三维对象顶点位置的像素颜色插值得到的像素颜色与这几个三维对象顶点位置的像素颜色差异很小,即插值得到的像素颜色与各个顶点位置的像素颜色呈渐变,这样由读取到的像素颜色反推出的纹理位置与三维对象顶点位置对应的纹理位置相差很小。
基于上述分析,组成面上各个三维对象顶点位置对应的预设纹理位置在纹理贴图中的位置相邻的条件可以使用纹理贴图展开工具(例如boundary-first-flattening工具)实现,而纹理贴图中每一纹理位置的像素颜色唯一,并且纹理贴图中的像素颜色渐变,需要在构建时的像素颜色计算逻辑实现。
基于此,针对构建纹理的构建过程,可以首先建立第一预设尺寸的空白纹理,该空白纹理包括至少一个像素通道,然后为空白纹理中的至少一个像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值不同,使得构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一。
在一些实施例中,当空白纹理包括三个像素通道时,可以通过为每个像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值不同,使得构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一。
其中,三个像素通道分别定义为第一预设通道、第二预设通道和第三预设通道,第一预设通道、第二预设通道和第三预设通道为红色通道、绿色通道以及蓝色通道的任意组合。
在一可选的具体实现方式中,针对为每个像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值不同的过程,可以按照第二预设尺寸对空白纹理进行区域划分,并为划分得到的每个区域分配第一预设通道的像素值,再针对每个区域中的每一纹理位置,根据该纹理位置的坐标为确定第二预设通道和第三预设通道的像素值,最后为空白纹理中的每一纹理位置填充第一预设通道的像素值、第二预设通道的像素值和第三预设通道的像素值,得到构建纹理。
其中,为了保证每一纹理位置的像素颜色唯一,且像素颜色渐变,每一相邻区域分配的第一预设通道的像素值连续变化,并且每个区域中相邻纹理位置的第二预设通道的像素值连续变化,以及第三预设通道的像素值也连续变化。
其中,区域划分是为了为每个区域分配一个第一预设通道的像素值,在每个区域里再按照一定顺序分配第二预设通道和第三预设通道的像素值,即通过改变三个通道的像素值,以实现构建纹理颜色渐变,颜色唯一的目的。
进一步地,由于常用的颜色为24位色,即红(R)、绿(G)、蓝(B)三个颜色通道各8位,每个颜色通道能表示256种像素值,总计能表示256x256x256=16777216种不同的颜色,而对于4096*4096大小的图片,如果每个位置的颜色唯一,需要4096x4096=16677216种颜色,与上述计算的三个颜色通道总计能表示的颜色数量一致,因此第一预设尺寸的最大尺寸为4096*4096。
为了更好的实现颜色渐变,每个区域的大小,即第二预设尺寸可以是256*256,也就是说,为每一区域分配第一预设通道的像素值后,针对每个区域,按第二预设通道、第三预设通道实现颜色渐变,具体地,每个区域的纹理位置从左到右,第二预设通道分配值依次为0到255,从上到下,第三预设通道分配值依次为0到255。
可以理解的是,第一预设尺寸可以是第二预设尺寸的整数倍,这样划分的区域大小均为第二预设尺寸,当然也可以不是第二预设尺寸的整数倍,这样最终在空白纹理的右边界和/或下边界划分的区域大小小于第二预设尺寸。
下面以第一预设尺寸为4096*4096,第二预设尺寸为256*256为例,给出详细的纹理构建实现:
首先将整个空白纹理,按照256*256划分为16x16=256个区域,按照从左到右的顺序依次为每个区域分配一个颜色通道的像素值,以蓝色通道为例,第一个区域分配蓝色通道的像素值为0,第二个区域分配蓝色通道的像素值为1,以此类推,第256个区域分配蓝色通道的像素值为255,然后每个区域,按照列从左到右的顺序依次分配红色通道的像素值,按照行从上到下的顺序依次分配绿色通道的像素值,即位于第一行第一列的纹理位置,红色通道的像素值为0,绿色通道的像素值为0;位于第二行第二列的纹理位置,红色通道的像素值为1,绿色通道的像素值为1,以此类推,位于第256行第256列的纹理位置,红色通道的像素值为255,绿色通道的像素值为255。
为了实现根据像素颜色反向查找三维对象顶点位置,还需要根据上述构建规则给出像素颜色与纹理位置之间的计算公式,从而根据像素颜色可以计算出相应的纹理位置,再由纹理位置查找到对应的三维对象顶点位置,具体地,像素颜色与纹理位置之间的计算公式如下:
r=Math.floor(s/16)
g=Math.floor(t/16)
b=s%16*16+t%16
其中,r为红色通道的像素值,g为绿色通道的像素值,b为蓝色通道的像素值,s为纹理位置的横坐标,t为纹理位置的纵坐标,Math.floor()表示向下取整函数。
在另一些实施例中,当空白纹理包括三个像素通道时,还可以通过为每个像素通道填充像素值,且相邻纹理位置的三个相同像素通道的像素值均不同,使得构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一。
由此可见,上述给出的纹理贴图的构建方式是通过只改变一个通道的像素值或者两个通道的像素值,而其他通道的像素值不变,或者改变三个通道的像素值,以实现构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一的目的,因此本发明对纹理贴图的具体构建逻辑不进行具体限定,只要能够满足颜色渐变且像素颜色唯一的纹理贴图构建条件均可。
步骤202:读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色。
其中,隐藏渲染的三维对象指的是对用户不可见的三维对象。
可以理解的是,基于三维对象的渲染原理,读取到的像素颜色可能是构建纹理上的像素颜色,也可能是由构建纹理上的像素颜色插值得到的像素颜色。
在一些实施例中,可以获取定位设备所指位置在屏幕坐标系下的坐标,进而利用定位设备所指位置在屏幕坐标系下的坐标读取到定位设备在隐藏渲染的三维对象上所指位置的像素颜色。
可选的,可以将屏幕坐标系下的坐标输入WebGl提供的api接口函数gl.readPixels(),读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色。
进一步地,针对获取定位设备所指位置在屏幕坐标系下的坐标的过程可以包括如下流程:
参见图3所示,为浏览器页面展示的一个三维对象的示意图,在获取鼠标指针所指位置在屏幕坐标系下的坐标时,首先获取定位设备所指位置相对三维对象所在浏览器页面的坐标clientX和clientY。具体地,坐标clientX和clientY可以通过JS(JavaScript)方法获取到。
然后获取渲染三维对象所使用的画布窗口相对浏览器页面的位置,即画布窗口相对浏览器页面上边界的距离top和相对浏览器页面左边界的距离left。具体地,left和top两个数值也可以通过JS(JavaScript)方法获取到。
进而根据所在页面的坐标和画布窗口相对所述页面的位置计算定位设备所指位置在屏幕坐标系下的坐标,屏幕坐标系下的坐标(x,y)计算公式如下:
x=clientX-left
y=canvas.clientHeight-(clientY-top)
其中,canvas.clientHeight为画布窗口的高度,clientX和clientY为定位设备所指位置相对三维对象所在浏览器页面的坐标,left和top为画布窗口相对浏览器页面的位置。
步骤203:确定读取的像素颜色对应在构建纹理上的纹理位置。
其中,基于上述步骤201所述的纹理贴图构建过程,由像素颜色可以映射得到对应在纹理贴图上的纹理位置的坐标s和t。
步骤204:根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定定位设备在已渲染的三维对象上所指位置的坐标。
在一些实施例中,可以先获取第一预设纹理位置集合、三维对象顶点位置与第一预设纹理位置的对应关系,从而在第一预设纹理位置集合中查找与所述纹理位置距离最近的至少一个第二预设纹理位置,并从所述对应关系中获取每个第二预设纹理位置对应的三维对象顶点位置,进而基于获取的三维对象顶点位置确定定位设备在已渲染的三维对象上所指位置的坐标。
其中,基于上述步骤201所描述的,第一预设纹理位置与三维对象顶点位置的对应关系可以采用三维对象的目标文件中包含的对应关系,当然也可以预先通过人工构建方式获得。
可以理解的是,本实施例中所涉及的第二预设纹理位置指的是从第一预设纹理位置集合中查找到的纹理位置。
在一可选的具体实施方式中,由于三维对象顶点位置与第一预设纹理位置是一一对应关系,三维对象顶点位置的个数通常有几百到几万个,那么对应的第一预设纹理位置也有这么多,要在第一预设纹理位置集合中找到距离最近的第二预设纹理位置,如果采用简单的暴力计算方式,会比较耗时,几万个点的坐标,一次暴力计算通常需要几十毫秒,这样会影响渲染体验,甚至做不到实时渲染,为了提升查找效率,本发明通过将第一预设纹理位置集合构建成索引,以用于完成距离最近预设纹理位置的查找,这样即使几万个第一预设纹理位置,也只需小于1毫秒的时间进行查找。
示例性的,由于纹理位置为二维的数据,因此构建的索引可以是kdtree索引。
在三维模型渲染领域中,预设纹理位置表示均是归一化后的坐标,因此,在查找之前,需要将由像素颜色计算出来的纹理位置的坐标s和t进行归一化处理,以得到归一化后的纹理位置的坐标。
仍然以4096*4096大小的构建纹理为例,纹理位置的坐标s和t的归一化处理计算公式如下:
u=s/4095
v=1-t/4095
其中,u和v即为归一化后的纹理位置的坐标。
进一步地,在将纹理位置归一化处理后,便可以基于构建好的索引查找与归一化后的纹理位置的坐标距离最近的第二预设纹理位置,如果拾取精度要求不高,可以直接取最近一个第二预设纹理位置,如果拾取精度要求较高,也可以取一定数量(例如3)个最近的第二预设纹理位置,因此基于索引需要查找出与归一化后的纹理位置的坐标距离最近的至少一个第二预设纹理位置。
可以理解的是,基于索引的查找过程可以采用相关技术实现,本发明对此不进行具体限定,只要保证能查找到距离最近的预设纹理位置点即可。
在另一可选的具体实施方式中,也可以不构建索引,而是直接在第一预设纹理位置集合中查找与归一化后的纹理位置的坐标距离最近的至少一个第二预设纹理位置。
需要说明的是,针对基于获取的三维对象顶点位置确定定位设备在已渲染的三维对象上所指位置的坐标过程,当获取的三维对象顶点位置的数量为1时,即拾取精度要求不高时,可以直接将获取的三维对象顶点位置的坐标确定为定位设备在已渲染的三维对象上所指位置的坐标;当获取的三维对象顶点位置的数量大于1时,即拾取精度要求比较高时,可以通过对获取的三维对象顶点位置的坐标进行插值,并将插值得到的三维对象顶点位置的坐标确定为定位设备在已渲染的三维对象上所指位置的坐标。
至此,完成上述图2所示的拾取流程,通过预设一个颜色渐变且像素颜色唯一的构建纹理,在使用真实纹理对三维对象进行渲染的同时,也利用构建纹理对已渲染的三维对象进行隐藏渲染,从而在进行图形拾取时,通过读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色,由于构建纹理中相邻位置的像素颜色是渐变的且每一位置的像素颜色唯一,因此可以保证获得读取到的像素颜色对应在构建纹理上的纹理位置,又由于构建纹理上的部分纹理位置与三维对象顶点位置存在对应关系,因此可以根据该对应关系和由像素颜色获得的纹理位置反向查找出定位设备在已渲染的三维对象上所指位置的坐标,由于本发明跳过了射线投射法中一系列坐标系变换的计算,因此需要的计算量小,即使在CPU性能有限的情况下,也不会出现页面卡顿的现象,能够给用户带来良好的使用体验。
实施例二:
图4为本发明根据一示例性实施例示出的一种三维对象拾取方法的完整流程示意图,在上述图2所示实施例的基础上,如图4所示,首先获取三维对象的obj格式目标文件,然后利用真实纹理渲染三维对象,对用户可见,在检测到鼠标等定位设备的拾取事件时,利用构建纹理渲染三维对象,对用户隐藏不可见,并读取定位设备在隐藏的三维对象上所指位置的像素颜色,同时根据读取到的像素颜色计算对应在构建纹理上的纹理位置,进而基于构建好的索引查找与计算得到的纹理位置距离最近的至少一个预设纹理位置,并从三维对象顶点位置与预设纹理位置的对应关系中获取查找到的预设纹理位置对应的三维对象顶点位置,最后基于获取的三维对象顶点位置的坐标确定定位设备在可见的三维对象上所指位置的坐标。
值得注意的是,在拾取精度要求不高时,该坐标是三维对象顶点位置的坐标,在拾取精度要求比较高时,该坐标是由三维对象顶点位置的坐标插值得到。
与前述三维对象拾取方法的实施例相对应,本发明还提供了三维对象拾取装置的实施例。
图5为本发明根据一示例性实施例示出的一种三维对象拾取装置的实施例流程图,该装置用于执行上述任一实施例提供的三维对象拾取方法,如图5所示,该三维对象拾取装置包括:
渲染模块610,用于利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一;
颜色读取模块620,用于读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色;
纹理坐标确定模块630,用于确定读取的像素颜色对应在所述构建纹理上的纹理位置;
对象坐标确定模块640,用于根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施方式还提供一种与前述实施方式所提供的三维对象拾取方法对应的计算机设备,以执行上述三维对象拾取方法。
图6为本发明根据一示例性实施例示出的一种计算机设备的硬件结构图,该计算机设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。处理器602通过读取并执行存储器603中与三维对象拾取方法的控制逻辑对应的机器可执行指令,可执行上文描述的三维对象拾取方法,该方法的具体内容参见上述实施例,此处不再累述。
本发明中提到的存储器603可以是任何电子、磁性、光学或其它物理存储装置,可以包含存储信息,如可执行指令、数据等等。具体地,存储器603可以是RAM(Random AccessMemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。通过至少一个通信接口601(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线604可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器603用于存储程序,所述处理器602在接收到执行指令后,执行所述程序。
处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
本申请实施例提供的计算机设备与本申请实施例提供的三维对象拾取方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的三维对象拾取方法对应的计算机可读存储介质,请参考图7所示,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的三维对象拾取方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的三维对象拾取方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种三维对象拾取方法,其特征在于,所述方法包括:
利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一;
读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色;
确定读取的像素颜色对应在所述构建纹理上的纹理位置;
根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标。
2.根据权利要求1所述的方法,其特征在于,所述构建纹理的构建过程包括:
建立空白纹理,所述空白纹理包括至少一个像素通道;
为至少一个所述像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值不同。
3.根据权利要求2所述的方法,其特征在于,所述空白纹理包括三个像素通道;
为每个所述像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值不同。
4.根据权利要求3所述的方法,其特征在于,所述空白纹理的大小为第一预设尺寸;所述三个像素通道包括第一预设通道至第三预设通道;
为每个所述像素通道填充像素值,且相邻纹理位置的至少一个相同像素通道的像素值均不同,包括:
按照第二预设尺寸对所述空白纹理进行区域划分,并为划分得到的每个区域分配第一预设通道的像素值,且相邻区域的第一预设通道的像素值连续变化;
针对每个区域中的每一纹理位置,根据该纹理位置的坐标确定第二预设通道和第三预设通道的像素值,每个区域中相邻纹理位置的第二预设通道的像素值以及第三预设通道的像素值均连续变化;
为所述空白纹理中的每一纹理位置填充第一预设通道的像素值、第二预设通道的像素值和第三预设通道的像素值,得到构建纹理。
5.根据权利要求1所述的方法,其特征在于,所述利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,包括:
检测定位设备的拾取事件;
当检测到拾取事件时,获取第一预设纹理位置与三维对象顶点位置的对应关系;
根据所述对应关系,在所述构建纹理中读取每个三维对象顶点位置对应的像素颜色,并利用读取的每个三维对象顶点位置对应的像素颜色在画布窗口中渲染所述已渲染的三维对象,以完成隐藏渲染。
6.根据权利要求1所述的方法,其特征在于,所述读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色,包括:
获取所述定位设备所指位置在屏幕坐标系下的坐标;
利用所述定位设备所指位置在屏幕坐标系下的坐标读取所述定位设备在隐藏渲染的三维对象上所指位置的像素颜色。
7.根据权利要求6所述的方法,其特征在于,所述获取所述定位设备所指位置在屏幕坐标系下的坐标,包括:
获取所述定位设备所指位置相对三维对象所在页面的坐标;
获取渲染三维对象所使用的画布窗口相对所述页面的位置;
根据所在页面的坐标和画布窗口相对所述页面的位置计算所述定位设备所指位置在屏幕坐标系下的坐标。
8.根据权利要求1所述的方法,其特征在于,所述根据所述纹理位置、预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标,包括:
获取第一预设纹理位置集合、三维对象顶点位置与第一预设纹理位置的对应关系;
在所述第一预设纹理位置集合中查找与所述纹理位置距离最近的至少一个第二预设纹理位置;
从所述对应关系中获取每个第二预设纹理位置对应的三维对象顶点位置;
基于获取的三维对象顶点位置确定所述定位设备在已渲染的三维对象上所指位置的坐标。
9.根据权利要求8所述的方法,其特征在于,所述在所述第一预设纹理位置集合中查找与所述纹理位置距离最近的至少一个第二预设纹理位置,包括:
对所述纹理位置的坐标进行归一化处理,得到归一化后的纹理位置的坐标;
获取由所述第一预设纹理位置集合构建的索引;
基于所述索引查找与归一化后的纹理位置的坐标距离最近的至少一个第二预设纹理位置。
10.根据权利要求8所述的方法,其特征在于,所述基于获取的三维对象顶点位置确定所述定位设备在已渲染的三维对象上所指位置的坐标,包括:
当获取的三维对象顶点位置的数量为1时,将获取的三维对象顶点位置的坐标确定为所述定位设备在已渲染的三维对象上所指位置的坐标;
当获取的三维对象顶点位置的数量大于1时,对获取的三维对象顶点位置的坐标进行插值,并将插值得到的三维对象顶点位置的坐标确定为所述定位设备在已渲染的三维对象上所指位置的坐标。
11.一种三维对象拾取装置,其特征在于,所述装置包括:
渲染模块,用于利用预设的构建纹理对已渲染的三维对象进行隐藏渲染,所述构建纹理中相邻纹理位置的像素颜色渐变且每一纹理位置的像素颜色唯一;
颜色读取模块,用于读取定位设备在隐藏渲染的三维对象上所指位置的像素颜色;
纹理坐标确定模块,用于确定读取的像素颜色对应在所述构建纹理上的纹理位置;
对象坐标确定模块,用于根据所述纹理位置、第一预设纹理位置与三维对象顶点位置的对应关系,确定所述定位设备在已渲染的三维对象上所指位置的坐标。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110328118.7A CN115129191B (zh) | 2021-03-26 | 2021-03-26 | 三维对象拾取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110328118.7A CN115129191B (zh) | 2021-03-26 | 2021-03-26 | 三维对象拾取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115129191A true CN115129191A (zh) | 2022-09-30 |
CN115129191B CN115129191B (zh) | 2023-08-15 |
Family
ID=83373934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110328118.7A Active CN115129191B (zh) | 2021-03-26 | 2021-03-26 | 三维对象拾取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129191B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301519A (zh) * | 2023-02-23 | 2023-06-23 | 深圳市万翼数字技术有限公司 | 渲染实体的局部信息拾取方法、装置、设备及存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395222A (zh) * | 2001-06-29 | 2003-02-05 | 三星电子株式会社 | 映射和渲染三维目标和活动的三维目标的基于图像的方法 |
US20050024379A1 (en) * | 2000-07-21 | 2005-02-03 | Marks Richard L. | Method for color transition detection |
US20070024612A1 (en) * | 2005-07-27 | 2007-02-01 | Balfour Technologies Llc | System for viewing a collection of oblique imagery in a three or four dimensional virtual scene |
CN101523237A (zh) * | 2006-10-13 | 2009-09-02 | 皇家飞利浦电子股份有限公司 | 采用灰度级反转的3d超声彩色流成像 |
US20100066737A1 (en) * | 2008-09-16 | 2010-03-18 | Yuyu Liu | Dynamic-state estimating apparatus, dynamic-state estimating method, and program |
US20110206274A1 (en) * | 2010-02-25 | 2011-08-25 | Canon Kabushiki Kaisha | Position and orientation estimation apparatus and position and orientation estimation method |
CN105701857A (zh) * | 2014-12-10 | 2016-06-22 | 达索系统公司 | 3d建模的对象的纹理化 |
CN105912655A (zh) * | 2016-04-11 | 2016-08-31 | 东南大学 | 基于WebGL的三维模型显示方法及相应的Web-BIM工程信息集成管理系统 |
CN109979002A (zh) * | 2019-02-28 | 2019-07-05 | 华南机械制造有限公司 | 基于WebGL三维可视化的场景构建系统及方法 |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
CN110942505A (zh) * | 2019-09-05 | 2020-03-31 | 北京无线电测量研究所 | 一种雷达一次信息渲染方法、系统、介质及设备 |
CN111080766A (zh) * | 2019-12-30 | 2020-04-28 | 中科星图股份有限公司 | 一种基于WebGL的GPU加速海量目标高效渲染方法 |
CN111243071A (zh) * | 2020-01-08 | 2020-06-05 | 叠境数字科技(上海)有限公司 | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 |
CN111508052A (zh) * | 2020-04-23 | 2020-08-07 | 网易(杭州)网络有限公司 | 三维网格体的渲染方法和装置 |
CN111612880A (zh) * | 2020-05-28 | 2020-09-01 | 广州欧科信息技术股份有限公司 | 基于二维画作的三维模型构建方法、电子设备及存储介质 |
CN112086147A (zh) * | 2020-09-22 | 2020-12-15 | 中山大学 | 一种基于WebGL的三维晶体结构可视化方法 |
CN112200902A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN112437276A (zh) * | 2020-11-20 | 2021-03-02 | 埃洛克航空科技(北京)有限公司 | 一种基于WebGL的三维视频融合方法及系统 |
-
2021
- 2021-03-26 CN CN202110328118.7A patent/CN115129191B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050024379A1 (en) * | 2000-07-21 | 2005-02-03 | Marks Richard L. | Method for color transition detection |
CN1395222A (zh) * | 2001-06-29 | 2003-02-05 | 三星电子株式会社 | 映射和渲染三维目标和活动的三维目标的基于图像的方法 |
US20070024612A1 (en) * | 2005-07-27 | 2007-02-01 | Balfour Technologies Llc | System for viewing a collection of oblique imagery in a three or four dimensional virtual scene |
CN101523237A (zh) * | 2006-10-13 | 2009-09-02 | 皇家飞利浦电子股份有限公司 | 采用灰度级反转的3d超声彩色流成像 |
US20100066737A1 (en) * | 2008-09-16 | 2010-03-18 | Yuyu Liu | Dynamic-state estimating apparatus, dynamic-state estimating method, and program |
US20110206274A1 (en) * | 2010-02-25 | 2011-08-25 | Canon Kabushiki Kaisha | Position and orientation estimation apparatus and position and orientation estimation method |
CN105701857A (zh) * | 2014-12-10 | 2016-06-22 | 达索系统公司 | 3d建模的对象的纹理化 |
CN105912655A (zh) * | 2016-04-11 | 2016-08-31 | 东南大学 | 基于WebGL的三维模型显示方法及相应的Web-BIM工程信息集成管理系统 |
CN109979002A (zh) * | 2019-02-28 | 2019-07-05 | 华南机械制造有限公司 | 基于WebGL三维可视化的场景构建系统及方法 |
CN110942505A (zh) * | 2019-09-05 | 2020-03-31 | 北京无线电测量研究所 | 一种雷达一次信息渲染方法、系统、介质及设备 |
CN110796742A (zh) * | 2019-10-25 | 2020-02-14 | 西安建筑科技大学 | 一种基于面向对象的三维场景视锥体剔除方法 |
CN111080766A (zh) * | 2019-12-30 | 2020-04-28 | 中科星图股份有限公司 | 一种基于WebGL的GPU加速海量目标高效渲染方法 |
CN111243071A (zh) * | 2020-01-08 | 2020-06-05 | 叠境数字科技(上海)有限公司 | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 |
CN111508052A (zh) * | 2020-04-23 | 2020-08-07 | 网易(杭州)网络有限公司 | 三维网格体的渲染方法和装置 |
CN111612880A (zh) * | 2020-05-28 | 2020-09-01 | 广州欧科信息技术股份有限公司 | 基于二维画作的三维模型构建方法、电子设备及存储介质 |
CN112086147A (zh) * | 2020-09-22 | 2020-12-15 | 中山大学 | 一种基于WebGL的三维晶体结构可视化方法 |
CN112200902A (zh) * | 2020-09-30 | 2021-01-08 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN112437276A (zh) * | 2020-11-20 | 2021-03-02 | 埃洛克航空科技(北京)有限公司 | 一种基于WebGL的三维视频融合方法及系统 |
Non-Patent Citations (2)
Title |
---|
张嘉华;梁成;李桂清;: "GPU三维图元拾取", 工程图学学报, no. 01, pages 46 - 52 * |
徐胜攀;刘正军;左志权;: "大规模三维点云快速拾取技术研究", 计算机工程与设计, no. 08, pages 2764 - 2768 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301519A (zh) * | 2023-02-23 | 2023-06-23 | 深圳市万翼数字技术有限公司 | 渲染实体的局部信息拾取方法、装置、设备及存储介质 |
CN116301519B (zh) * | 2023-02-23 | 2024-04-23 | 深圳市万翼数字技术有限公司 | 渲染实体的局部信息拾取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115129191B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110956673B (zh) | 一种地图绘制方法及装置 | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
US9013479B2 (en) | Apparatus and method for tile-based rendering | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US10789761B2 (en) | Method and device for processing spatial data | |
US8587592B2 (en) | Tile-based rendering apparatus and method | |
CN104036537A (zh) | 多分辨率一致光栅化 | |
US11651556B2 (en) | Virtual exhibition space providing method for efficient data management | |
CN102855132A (zh) | 一种图形对象的选取方法及系统 | |
CN102484728B (zh) | 用于三维空间显示的方法 | |
US11615578B1 (en) | Systems and methods for efficient rendering and processing of point clouds using textures | |
US9898842B2 (en) | Method and system for generating data-efficient 2D plots | |
CN115129191B (zh) | 三维对象拾取方法、装置、设备及存储介质 | |
KR101508388B1 (ko) | 밉맵 생성 장치 및 방법 | |
US6731301B2 (en) | System, method and program for computer graphics rendering | |
CN111414104B (zh) | 一种电子地图局部显示方法及装置 | |
CN102842145A (zh) | 拼块式图形结构 | |
KR100888155B1 (ko) | 텍스처 맵핑을 이용하여 3차원 지도를 표시하는 시스템 및방법 | |
US9092907B2 (en) | Image shader using two-tiered lookup table for implementing style attribute references | |
CN114442888B (zh) | 对象确定方法、装置及电子设备 | |
CN113379814B (zh) | 一种三维空间关系判定方法及装置 | |
CN112445989A (zh) | 一种基于WebGIS地图文本标签避让显示方法和装置 | |
CN111506680B (zh) | 地形数据生成、渲染方法及装置、介质、服务器、终端 | |
CN114972558A (zh) | 书写笔迹绘制方法、装置、介质以及交互平板 | |
CN117557711B (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 |