CN108198237A - 动态壁纸生成方法、装置、设备及介质 - Google Patents
动态壁纸生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN108198237A CN108198237A CN201711499653.9A CN201711499653A CN108198237A CN 108198237 A CN108198237 A CN 108198237A CN 201711499653 A CN201711499653 A CN 201711499653A CN 108198237 A CN108198237 A CN 108198237A
- Authority
- CN
- China
- Prior art keywords
- vertex
- data
- color
- dynamic wallpaper
- vertex data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种动态壁纸生成方法、装置、设备及介质。其中,该方法包括:获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;为所述顶点数据加入顶点颜色;根据加入所述顶点颜色的顶点数据生成动态壁纸。通过本发明实施例,以点来渲染生成动态壁纸,避免因点形成不了正常的三角形而出现破面的情况。
Description
技术领域
本发明涉及电子技术领域,具体涉及一种动态壁纸生成方法、装置、设备及介质。
背景技术
现有技术中,智能手机的动态壁纸大多数都是用3D模型配上贴图,再跟据模型顶点以三角面渲染出来。
现有技术中这种3D渲染得到动态壁纸的方法对一般情况很合适,但面对一些特殊视觉需求(如高科技全息投影效果,水花飞溅的场景等)就没有那么简单能实现了,例如,针对大幅度的顶点歪曲动画的场景,因为点形成不了正常的三角形会出现破面的情况。因此,如何设计生成动态壁纸以满足一些特殊视觉需求(如高科技全息投影效果,水花飞溅的场景等)即为目前需要解决的技术问题。
发明内容
本发明实施例提供了一种动态壁纸生成方法、装置、设备及介质,以点来渲染生成动态壁纸,避免因点形成不了正常的三角形而出现破面的情况。
本发明实施例第一方面提供了一种动态壁纸生成,包括:
获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
为所述顶点数据加入顶点颜色;
根据加入所述顶点颜色的顶点数据生成动态壁纸。
结合本发明实施例的第一方面的实施方式,在第一方面的第一种可能的实施方式中,在为所述顶点数据加入顶点颜色之前,还包括:
将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
结合本发明实施例的第一方面的实施方式,在第一方面的第二种可能的实施方式中,在为所述顶点数据加入顶点颜色之前,还包括:
根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
将所述UV坐标对应的像素颜色确定为所述顶点颜色。
结合本发明实施例的第一方面的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述顶点数据以及所述顶点颜色生成动态壁纸,包括:
采用GL_POINT渲染方式将所述顶点数据根据所述顶点颜色渲染生成动态壁纸。
结合本发明实施例的第一方面的实施方式,或第一方面的第一种可能的实施方式,或第一方面的第二种可能的实施方式,或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述根据所述顶点数据以及所述顶点颜色生成动态壁纸之后,还包括:
播放所述动态壁纸;
接收针对所述动态壁纸输入的操作;
根据所述操作动态调整所述动态壁纸的显示。
第二方面,本发明实施例提供了一种动态壁纸生成装置,包括:
获取单元,用于获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
添加单元,用于为所述顶点数据加入顶点颜色;
生成单元,用于根据加入所述顶点颜色的顶点数据生成动态壁纸。
结合本发明实施例的第二方面的实施方式,在第二方面的第一种可能的实施方式中,所述终端设备还包括:
合并单元,用于在所述添加单元为所述顶点数据加入顶点颜色之前,将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
结合本发明实施例的第二方面的实施方式,在第二方面的第二种可能的实施方式中,所述终端设备还包括:
第一确定单元,用于在所述添加单元为所述顶点数据加入顶点颜色之前,根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
第二确定单元,用于将所述UV坐标对应的像素颜色确定为所述顶点颜色。
结合本发明实施例的第二方面,在第二方面的第三种可能的实施方式中,所述生成单元具体用于:
采用GL_POINT渲染方式将所述顶点数据根据所述顶点颜色渲染生成动态壁纸。
结合本发明实施例的第二方面,或第二方面的第一种可能的实施方式,或第二方面的第二种可能的实施方式,或第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述终端设备还包括:
播放单元,用于在所述生成单元根据所述顶点数据以及所述顶点颜色生成动态壁纸之后,播放所述动态壁纸;
接收单元,用于接收针对所述动态壁纸输入的操作;
调整单元,用于根据所述操作动态调整所述动态壁纸的显示。
本发明实施例第三面提供了一种动态壁纸生成设备,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行第一方面或第一方面任意一种实现方式中所描述的动态壁纸生成方法。
本发明实施例第四方面提供一种存储介质,其中,该存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例的所述的一种动态壁纸生成方法。
本发明实施例第五方面提供一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种动态壁纸生成方法。
实施本发明实施例,具有如下有益效果:
本发明对比起一般3D动态壁纸,可以更容易实现一些特殊视觉需求(如高科技全息投影效果,水花飞溅的场景等),以点来渲染生成动态壁纸,避免因点形成不了正常的三角形而出现破面的情况。因顶点是以分开的点来渲染,模型就算播放大幅度的顶点歪曲动画,也不会因为点形成不了正常三角面而出现破面的情况。解决3D动态壁纸会令手机发热、更耗电、变卡等问题。而且,对于点云数据(点云数据通常由3D扫描器生成)来说,可以使用点渲染的方式直接将点云数据渲染到动态壁纸。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种海豚的模型示意图;
图2是本发明实施例提供的一种3D模型中顶点坐标的示意图;
图3是本发明实施例提供的一种3D模型的示意图;
图4是本发明实施例提供的一种贴图的示意图;
图5是本发明实施例提供的一种球体模型的示意图;
图6A是本发明实施例提供的根据法线确定光照效果的示意图;
图6B是本发明实施例提供的渲染方式的示意图;
图7是本发明实施例提供的一种动态壁纸生成方法的流程示意图;
图8是本发明实施例提供的一种动态壁纸生成装置的结构示意图;
图9是本发明实施例提供的一种动态壁纸生成设备的结构示意图。
具体实施方式
为了便于更好的理解本申请,首先介绍本申请涉及的几个概念。
1、点云(Point Cloud)
点云是通过测量仪器得到的目标表面的海量点集合。
根据激光测量原理(例如通过激光扫描仪测量)得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。
根据摄影测量原理(例如通过相机测量)得到的点云,包括三维坐标(XYZ)和颜色信息(RGB)。
结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。
在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为点云。
点云的格式包括但不限于:pts、asc、dat、stl、imw、xyz。
点云数据是指上述点云的数据,包括三维坐标、颜色信息和激光反射强度。其中,三维坐标是指点云的几何位置。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。
2、3D模型
3D模型就是三维的、立体的模型,D是英文Dimensions的缩写。
3D模型也可以说是用三维软件建造的立体模型,包括各种建筑、人物、植被、机械等等,比如一个大楼的3D模型图。3D模型也包括玩具和电脑模型领域等。
例如,参见图2,是本发明实施例提供的一种3D模型中顶点坐标的示意图。图2中左边(a)图中示出了两个相邻的三角形,第一个三角形的三个顶点分别为V0、V1和V2,这三个顶点的坐标分别为0,0、2,0、1,2,第二个三角形的三个顶点分别为V3、V4和V5,这三个顶点的坐标分别为1,2、2,0、3,2。构成同一三角形的三个顶点互相相邻/相邻,且相邻的两个三角形交叉的点为同一点。图2中右边(b)图中示出了两个相邻的三角形,第一个三角形的三个顶点分别为V0、V1和V2,这三个顶点的坐标分别为0,0、2,0、1,2,第二个三角形的三个顶点分别为V1、V2和V3,这三个顶点的坐标分别为1,2、2,0、3,2。构成同一三角形的三个顶点互相相连/相邻。图2中右边(b)图中的顶点数据中可以反映出哪些顶点是组成同一三角形的,即顶点V0、V1和V2组成一个三角形,顶点V1、V2和V3组成一个三角形。需要说明的是,图2是以二维坐标为例来简单介绍3D模型中的顶点坐标,在实际应用中,3D模型中的顶点坐标为三维坐标。
3D模型的格式包括但不限于:obj、fbx、dae等。
每三个顶点形成一个多三角形,而很多个三角形就能拼成3D模型,例如,图3最右边的模型即为3D模型的示意图。
每个顶点都存有自己的顶点数据,顶点数据最常见的包括:位置(Position)(即坐标)、UV、法线(Normal Vectors)。顶点数据包括但不限于这些信息。
其中,要想渲染出一个3D模型,必须要用到贴图以及UV,如图4所示,左边是贴图和UV,右边是实际渲染出的模型效果。3D模型就是根据UV把对应的贴图贴到对应的三角面上。3D模型上的每个三角面上的每个顶点的UV都能找到与之对应的贴图UV,该贴图UV对应的像素颜色即可以代表该顶点的颜色。
图5是一个球体模型,而白色的线就是法线。法线告诉显卡每一个顶点的指向,这样之后就可以用顶点算出光照效果。以图6A为例,左上角是一支方向灯,朝向右下角的球体。右下角的球计算顶点法线向量与方向灯向量的点积。由点积算出顶点受光程度(一个由0到1的值),然后渲染出来,达到图6的效果。
下面对3D模型的渲染过程进行描述。
把图片想象成一个围棋盘,棋盘上每个格子都有自己的颜色,而颜色是可以表达成三个数字的,所以图片最终被表达成一系列的数值。在绘制图片的时候,游戏会把图片的数值告诉屏幕,屏幕根据这些数值把这张图片绘制出来。
先以《水果忍者》里的西瓜为例说下什么是3D模型。
我们假设到水果摊上买了一个西瓜(真正能吃的西瓜),之后拿一根针在西瓜皮上戳洞,每戳一下,相当于在西瓜表面上挑选一个点,戳了一个小时后,会得到了成百上千的点,然后把邻近的点用直线连起来,使它们之间形成一个个的小三角形,等把全部点连完,我们就大功告成了。这些戳出来的点叫做3D模型的顶点,它们之间的直线叫做3D模型的边,而那些三角形叫做3D模型的面。这些点、边、面一起构成了一个非常复杂的多面体,这就是西瓜的几何模型。大家看看图1所示海豚的模型就会有个直观的感受。
现在,我们得记录下每个点的位置以及每个面的颜色。点的位置容易理解,面的颜色得解释一下。出于简单考虑,我们定一个规则:如果这个面的三个点都戳在了黑色瓜纹上,我们就把这个面定成黑色,否则我们把它定成绿色。记录好后,我们就得到了这个西瓜模型的数值表述:这里面不仅有几何位置,还有颜色。
接着,说说怎么把3D模型画到屏幕上。我们依然可以把这个绘制的过程看作是给屏幕上的每个像素格子赋予一个颜色值的过程,只不过如今赋值的方式会稍微复杂一些。
我们把西瓜的3D模型放在屏幕后方的某个地方,然后在屏幕前方选一个点,这个点叫做焦点。我们知道两点可以决定一条直线,因此屏幕上的每个像素格子都可以和这个焦点一起,决定一条直线,如果这条直线和西瓜模型的某个面相交了,我们就把这个面的颜色(绿色或黑色)赋值给这个像素格子;如果这条直线没有和西瓜模型相交,我们就把背景的颜色(比如灰色)赋值给这个像素。这样,等所有像素格子都扫过一遍,我们就画出一个灰色背景下的西瓜了。
在《水果忍者》里,一个西瓜飞上来的时候,它除了飞行以外,还在翻滚。每一帧,游戏都得根据它的物理规则,计算出模型上的每个顶点的位置,然后按照上面所说的方法把模型渲染出来。现有技术中,手机动态壁纸大多数都是以三角面依次渲染出来。例如在图6B中,现有技术一般用面GL_TRIANGLES渲染方式将一个个三角面画出来。
本发明实施例从3D模型/3D扫描的点云数据提取出离散的顶点数据,以多个独立的点而非三角面渲染出动态壁纸,因此可以避免因点形成不了正常的三角形而出现破面的情况。例如,在图6B中,本发明实施例采用,点GL_POINT渲染方式把顶点渲染出来。图6B中的GL_LINES是线渲染方式。
下面对本发明实施例中的技术方案进行描述。
以下各发明实施例所描述的终端设备包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、模拟器等。
请参见图7,图7是本发明实施例提供的一种动态壁纸生成方法的流程示意图。如图7所示,该动态壁纸生成方法可以包括但不限于以下步骤。
S701、终端设备获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据。
本申请实施例中,所述顶点数据包括所述顶点数据对应的三维坐标,3D模型的格式包括但不限于:obj、fbx、dae等。每种格式都有不同读取顶点方法。以obj模型为例,3D模型的数据是这样的:
#obj注释前加#号
#以v开头的是指顶点位置,每个v都会接着x坐标、y坐标和z坐标
v 0.123 0.234 0.345#0.123为x坐标0.234为y坐标0.345为z坐标
v 0.987 0.654 0.321#0.987为x坐标0.654为y坐标0.321为z坐标
...
#以vt开头的是指顶点uv,每个vt都会接着u坐标和v坐标
vt 0.500 1#0.500为u坐标1为v坐标
vt...
...
#以vn开头的是指顶点法线,每个vn都会接着向量的x、y和z值
vn 0.707 0.000 0.707#0.707为x值0.000为y值0.707为z值
vn...
...
#最后以f开头的会把每个面的顶点索引一一列出(索引是由1开始顺着次序递增,如上面v 0.123 0.234 0.345的索引是1,v 0.987 0.654 0.321的索引是2)
#加入/的话在/后分别指定uv和法线的顶点索引
f 1 2 3
f 3/1 4/2 5/3
f 6/4/1 3/5/3 7/6/5
f 7//1 8//2 9//3
f...
...
所以只要跟据每种格式的顶点列举方法,就能用程序读取3D模型中的所有顶点数据。
至于点云数据跟3D模型长得基本上是一样的,只是点云数据没有面的概念,只有顶点。因此,也能用程序读取点云数据中的所有顶点数据。
获取到3D模型/点云数据的所有顶点数据后,可以将这些顶点数据加入到顶点数组(array)列表中。
之后,可以对比所有顶点数组列表中相连的顶点之间的距离:把距离短于顶点合并阀值的顶点合并为一个顶点(把位置接近的顶点从顶点数组列表中删除到剩下一个)。这里,顶点合并阈值可以是系统预设的。相连的顶点包括组成同一个三角面的任意两个顶点。顶点距离可以使用勾股定理计算得到,即 这里,相连的顶点也即是指相邻的顶点。
可选的,还可以在顶点数组列表中删除不必要的顶点数据(如:法线、UV等;实际需要的数据视想表现的视觉效果而定)。比如想做一个全白色的静态主题。因没有颜色也不需要顶点动画,所以可以把法线,顶点颜色和UV都删掉。相反如要做一个地球,地球是彩色的,而且海洋区域需要做水波动画,这样的话就要保留法线(水波要跟据发线方向动)和顶点颜色,只需把UV删除即可。
S702、终端设备为所述顶点数据加入顶点颜色。
可选的,获取顶点数据之后,为所述顶点数据加入顶点颜色之前,还包括:
根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
将所述UV坐标对应的像素颜色确定为所述顶点颜色。
在顶点数组列表中跟据顶点UV读取模型贴图上对应UV位置像素的颜色,并写入到顶点数据中的顶点颜色数据。顶点数据是由数个自定义的数组(array)组成,要添加颜色数据只要新建一个由每个顶点的颜色浮点值(如RGB[1.0,0.0,0.0]红色或带透明的RGBA[0.0,0.0,1.0,0.5]半透明的蓝色)组成的数组就可以了。
S703、终端设备根据加入所述顶点颜色的顶点数据生成动态壁纸。
可选的,终端设备可以使用GL_POINT渲染方式把顶点数据跟据顶点颜色渲染出来,从而生成动态壁纸。此外,终端设备还可以采用其他工具把顶点数据跟据顶点颜色渲染出来,从而生成动态壁纸。这里,GL_POINT是OpenGL里的一种渲染手法(渲染点),此外,其他渲染方式还有GL_TRIANGLE(渲染三角面),GL_LINE(渲染线)等。OpenGL是一个渲染API,而绝大部份的手机都是使用OpenGL ES去做渲染(Windows Phone除外,他们用的是Direct3D)。
终端设备生成动态壁纸后,可以播放动态壁纸,如:船沿着河流走、海面顶点波动形成波浪等。
可选的,终端设备在播放动态壁纸后,还可以监察用户是否针对该动态壁纸输入操作,该操作包括但不限于:点击、长按、滑动屏幕、拖曳、倾斜手机(重力感应)等操作。若终端设备检测到用户的输入操作,动态调整壁纸的显示。也即是说,壁纸会做出对应该动作的反馈。若终端设备未检测到用户输入的操作,则继续播放动态壁纸。
例如,动态壁纸是以光点组成的纽约市3D地图,壁纸中有由光点形成的船在河流航行。用户拿起手机向不同方向倾斜手机,动态壁纸中的顶点因重力感应向相应的方向旋转。用户滑动手机屏幕,动态壁纸中的顶点因用户滑动方向相应旋转。用户长按动态壁纸中的某一图标(例如河流中的船),河流中的船被放大显示,并且拖动船时船随着拖动方向左右旋转。用户完成拖拽,船缩小到原始大小。
本发明对比起一般3D动态壁纸,可以更容易实现一些特殊视觉需求(如高科技全息投影效果,水花飞溅的场景等)。因顶点是以分开的点来渲染,模型就算播放大幅度的顶点歪曲动画,也不会因为点形成不了正常三角面而出现破面的情况。解决3D动态壁纸会令手机发热、更耗电、变卡等问题。而且,对于点云数据(点云数据通常由3D扫描器生成)来说,可以使用点渲染的方式直接将点云数据渲染到动态壁纸。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
请参见图8,图8是本发明实施例提供的一种动态壁纸生成装置的结构示意图。如图8所示,该动态壁纸生成装置80包括:获取单元801、添加单元802和生成单元803,其中,
获取单元801,用于获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
添加单元802,用于为所述顶点数据加入顶点颜色;
生成单元803,用于根据加入所述顶点颜色的顶点数据生成动态壁纸。
可选的,动态壁纸生成装置80还包括:
合并单元804,用于在所述添加单元802为所述顶点数据加入顶点颜色之前,将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
可选的,动态壁纸生成装置80还包括:
第一确定单元805,用于在所述添加单元802为所述顶点数据加入顶点颜色之前,根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
第二确定单元806,用于将所述UV坐标对应的像素颜色确定为所述顶点颜色。
可选的,所述生成单元803具体用于:
采用GL_POINT渲染方式将所述顶点数据按照所述顶点颜色渲染生成动态壁纸。
可选的,动态壁纸生成装置80还包括:
播放单元807,用于在所述生成单元803根据所述顶点数据以及所述顶点颜色生成动态壁纸之后,播放所述动态壁纸;
接收单元808,用于接收针对所述动态壁纸输入的操作;
调整单元809,用于根据所述操作动态调整所述动态壁纸的显示。
可理解的是,本实施例的动态壁纸生成装置80的各功能单元的功能可根据上述图7方法实施例的方法具体实现,此处不再赘述。
请参见图9,是本发明提供的一种动态壁纸生成设备的结构示意图。本实施例中所描述的动态壁纸生成设备900包括:至少一个处理器901、通信接口902、用户接口903和存储器904,处理器901、通信接口902、用户接口903和存储器904可通过总线或者其它方式连接,本发明实施例以通过总线905连接为例。其中,
处理器901可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口902可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他设备或服务器进行通信。
用户接口903具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口903也可以是物理按键或者鼠标。用户接口903还可以为显示屏,用于输出、显示图像或数据。
存储器904可以包括易失性存储器(英文:Volatile Memory),例如随机存取存储器(英文:Random Access Memory,RAM);存储器也可以包括非易失性存储器(英文:Non-Volatile Memory),例如只读存储器(英文:Read-Only Memory,ROM)、快闪存储器(英文:Flash Memory)、硬盘(英文:Hard Disk Drive,HDD)或固态硬盘(英文:Solid-StateDrive,SSD);存储器904还可以包括上述种类的存储器的组合。存储器904用于存储动态壁纸生成程序代码,处理器901用于调用存储器904中存储的程序代码,执行如下操作:
获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
为所述顶点数据加入顶点颜色;
根据加入所述顶点颜色的顶点数据生成动态壁纸。
可选的,处理器901为所述顶点数据加入顶点颜色之前,处理器901还用于:
将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
可选的,处理器901为所述顶点数据加入顶点颜色之前,处理器901还用于:
根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
将所述UV坐标对应的像素颜色确定为所述顶点颜色。
可选的,处理器901根据所述顶点数据以及所述顶点颜色生成动态壁纸,包括:
采用GL_POINT渲染方式将所述顶点数据按照所述顶点颜色渲染生成动态壁纸。
可选的,处理器901根据所述顶点数据以及所述顶点颜色生成动态壁纸之后,处理器901还用于:
通过所述用户接口903播放所述动态壁纸;
通过所述用户接口903接收针对所述动态壁纸输入的操作;
根据所述操作动态调整所述动态壁纸的显示。
可理解的是,处理器901的执行步骤具体可参见图7实施例所述的内容,此处不再赘述。
基于同一发明构思,本发明实施例还提供一种存储介质,其中,该存储介质用于存储应用程序,当所述应用程序在计算机上运行时,使得计算机执行图7所示的一种动态壁纸生成方法。
基于同一发明构思,本发明实施例还提供一种应用程序,其中,当其在计算机上运行时,使得计算机执行图7所示的一种动态壁纸生成方法。
综上所述,通过实施本发明实施例,可以更容易实现一些特殊视觉需求(如高科技全息投影效果,水花飞溅的场景等)。因顶点是以分开的点来渲染,模型就算播放大幅度的顶点歪曲动画,也不会因为点形成不了正常三角面而出现破面的情况。解决3D动态壁纸会令手机发热、更耗电、变卡等问题。而且,对于点云数据(点云数据通常由3D扫描器生成)来说,可以使用点渲染的方式直接将点云数据渲染到动态壁纸。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM或RAM等。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例动态壁纸生成装置中的单元可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种动态壁纸生成方法,其特征在于,包括:
获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
为所述顶点数据加入顶点颜色;
根据加入所述顶点颜色的顶点数据生成动态壁纸。
2.根据权利要求1所述的方法,其特征在于,在所述为所述顶点数据加入顶点颜色之前,还包括:
将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
3.根据权利要求1所述的方法,其特征在于,在所述为所述顶点数据加入顶点颜色之前,还包括:
根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
将所述UV坐标对应的像素颜色确定为所述顶点颜色。
4.根据权利要求1所述的方法,其特征在于,所述根据所述顶点数据以及所述顶点颜色生成动态壁纸,包括:
采用GL_POINT渲染方式将所述顶点数据根据所述顶点颜色渲染生成动态壁纸。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述根据所述顶点数据以及所述顶点颜色生成动态壁纸之后,还包括:
播放所述动态壁纸;
接收针对所述动态壁纸输入的操作;
根据所述操作动态调整所述动态壁纸的显示。
6.一种动态壁纸生成装置,其特征在于,包括:
获取单元,用于获取顶点数据,所述顶点数据是从3D模型或者点云数据中提取出的顶点数据;
添加单元,用于为所述顶点数据加入顶点颜色;
生成单元,用于根据加入所述顶点颜色的顶点数据生成动态壁纸。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
合并单元,用于在所述添加单元为所述顶点数据加入顶点颜色之前,将相连的顶点数据中距离小于或等于预设顶点合并阈值的顶点合并为一个顶点数据。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于在所述添加单元为所述顶点数据加入顶点颜色之前,根据所述顶点数据的三维坐标确定所述三维坐标在UV贴图中对应的UV坐标;
第二确定单元,用于将所述UV坐标对应的像素颜色确定为所述顶点颜色。
9.一种动态壁纸生成设备,其特征在于,包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-5任一项所述的动态壁纸生成方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的动态壁纸生成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499653.9A CN108198237A (zh) | 2017-12-29 | 2017-12-29 | 动态壁纸生成方法、装置、设备及介质 |
US16/224,909 US20190206109A1 (en) | 2017-12-29 | 2018-12-19 | Method, apparatus and device for generating live wallpaper and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499653.9A CN108198237A (zh) | 2017-12-29 | 2017-12-29 | 动态壁纸生成方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108198237A true CN108198237A (zh) | 2018-06-22 |
Family
ID=62587879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711499653.9A Pending CN108198237A (zh) | 2017-12-29 | 2017-12-29 | 动态壁纸生成方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190206109A1 (zh) |
CN (1) | CN108198237A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147060A (zh) * | 2018-09-25 | 2019-01-04 | 北京金山安全软件有限公司 | 一种3d重力主题的展示方法、装置及电子设备 |
CN109688346A (zh) * | 2018-12-28 | 2019-04-26 | 广州华多网络科技有限公司 | 一种拖尾特效渲染方法、装置、设备及存储介质 |
CN111045673A (zh) * | 2019-11-29 | 2020-04-21 | 广州久邦世纪科技有限公司 | 一种实时预览制作动态壁纸的方法和终端 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3704513A1 (en) * | 2017-10-30 | 2020-09-09 | Sony Corporation | Terminal device, infrastructure equipment and methods |
US20240020935A1 (en) * | 2022-07-15 | 2024-01-18 | The Boeing Company | Modeling system for 3d virtual model |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320480A (zh) * | 2008-07-04 | 2008-12-10 | 浙江大学 | 一种基于gpu的实时动态水面模拟方法 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
US20130346865A1 (en) * | 2012-06-25 | 2013-12-26 | Via Technologies, Inc. | Dynamic wallpaper of mobile systems |
CN103744600A (zh) * | 2014-01-17 | 2014-04-23 | 广州市久邦数码科技有限公司 | 一种3d动态壁纸与桌面图标之间交互的方法及系统 |
CN106204703A (zh) * | 2016-06-29 | 2016-12-07 | 乐视控股(北京)有限公司 | 三维场景模型渲染方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050876B1 (en) * | 2000-10-06 | 2006-05-23 | Phonak Ltd. | Manufacturing methods and systems for rapid production of hearing-aid shells |
CN101373540B (zh) * | 2007-08-20 | 2011-12-14 | 鸿富锦精密工业(深圳)有限公司 | 点云精简系统及方法 |
CA2780765A1 (en) * | 2009-11-13 | 2011-05-19 | Google Inc. | Live wallpaper |
US8849015B2 (en) * | 2010-10-12 | 2014-09-30 | 3D Systems, Inc. | System and apparatus for haptically enabled three-dimensional scanning |
WO2016038240A1 (en) * | 2014-09-09 | 2016-03-17 | Nokia Technologies Oy | Stereo image recording and playback |
US9691178B2 (en) * | 2014-10-21 | 2017-06-27 | Microsoft Technology Licensing, Llc | Scanning and processing objects into three-dimensional mesh models |
-
2017
- 2017-12-29 CN CN201711499653.9A patent/CN108198237A/zh active Pending
-
2018
- 2018-12-19 US US16/224,909 patent/US20190206109A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320480A (zh) * | 2008-07-04 | 2008-12-10 | 浙江大学 | 一种基于gpu的实时动态水面模拟方法 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
US20130346865A1 (en) * | 2012-06-25 | 2013-12-26 | Via Technologies, Inc. | Dynamic wallpaper of mobile systems |
CN103744600A (zh) * | 2014-01-17 | 2014-04-23 | 广州市久邦数码科技有限公司 | 一种3d动态壁纸与桌面图标之间交互的方法及系统 |
CN106204703A (zh) * | 2016-06-29 | 2016-12-07 | 乐视控股(北京)有限公司 | 三维场景模型渲染方法和装置 |
Non-Patent Citations (1)
Title |
---|
王永超 等: "《虚拟仿真开发平台WTK》", 30 November 2004 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147060A (zh) * | 2018-09-25 | 2019-01-04 | 北京金山安全软件有限公司 | 一种3d重力主题的展示方法、装置及电子设备 |
CN109688346A (zh) * | 2018-12-28 | 2019-04-26 | 广州华多网络科技有限公司 | 一种拖尾特效渲染方法、装置、设备及存储介质 |
CN109688346B (zh) * | 2018-12-28 | 2021-04-27 | 广州方硅信息技术有限公司 | 一种拖尾特效渲染方法、装置、设备及存储介质 |
CN111045673A (zh) * | 2019-11-29 | 2020-04-21 | 广州久邦世纪科技有限公司 | 一种实时预览制作动态壁纸的方法和终端 |
CN111045673B (zh) * | 2019-11-29 | 2023-11-17 | 广州久邦世纪科技有限公司 | 一种实时预览制作动态壁纸的方法和终端 |
Also Published As
Publication number | Publication date |
---|---|
US20190206109A1 (en) | 2019-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108198237A (zh) | 动态壁纸生成方法、装置、设备及介质 | |
Du et al. | DepthLab: Real-time 3D interaction with depth maps for mobile augmented reality | |
US7633511B2 (en) | Pop-up light field | |
CN112200900B (zh) | 一种体积云渲染方法、装置、电子设备及存储介质 | |
CN101116111B (zh) | 使用3d光栅化算法的2d/3d线条渲染 | |
CN111145326B (zh) | 三维虚拟云模型的处理方法、存储介质、处理器及电子装置 | |
CN108140260A (zh) | 来自地图数据的3d模型生成以及用户界面 | |
CN112529997B (zh) | 烟花视觉效果的生成方法、视频生成方法、电子设备 | |
CN109771951A (zh) | 游戏地图生成的方法、装置、存储介质和电子设备 | |
CN110880204B (zh) | 虚拟植被显示方法、装置、计算机设备及存储介质 | |
EP3533218B1 (en) | Simulating depth of field | |
US9176662B2 (en) | Systems and methods for simulating the effects of liquids on a camera lens | |
CN105550973B (zh) | 图形处理单元、图形处理系统及抗锯齿处理方法 | |
CN111445563A (zh) | 一种图像生成的方法以及相关装置 | |
CN110163952A (zh) | 室内图的展示方法、装置、终端和存储介质 | |
CN117456076A (zh) | 一种材质贴图生成方法及相关设备 | |
Trapp et al. | Colonia 3D communication of virtual 3D reconstructions in public spaces | |
WO2019042028A1 (zh) | 全视向的球体光场渲染方法 | |
CN109147054A (zh) | Ar的3d模型朝向的设置方法、装置、存储介质及终端 | |
CN105046740A (zh) | 基于OpenGL ES的3D图形处理方法及装置 | |
CN113617024B (zh) | 水体面渲染方法、装置、设备及存储介质 | |
CN116777731A (zh) | 软光栅化的方法、装置、设备、介质及程序产品 | |
CN111145358B (zh) | 图像处理方法、装置、硬件装置 | |
Anderson et al. | Preserving and presenting Cultural Heritage using off-the-shelf software | |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180622 |