CN109529342A - 一种数据渲染方法及装置 - Google Patents

一种数据渲染方法及装置 Download PDF

Info

Publication number
CN109529342A
CN109529342A CN201811426698.8A CN201811426698A CN109529342A CN 109529342 A CN109529342 A CN 109529342A CN 201811426698 A CN201811426698 A CN 201811426698A CN 109529342 A CN109529342 A CN 109529342A
Authority
CN
China
Prior art keywords
vegetation
data
index
sequence
processing algorithm
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
Application number
CN201811426698.8A
Other languages
English (en)
Other versions
CN109529342B (zh
Inventor
罗树权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN201811426698.8A priority Critical patent/CN109529342B/zh
Publication of CN109529342A publication Critical patent/CN109529342A/zh
Application granted granted Critical
Publication of CN109529342B publication Critical patent/CN109529342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Generation (AREA)

Abstract

本发明实施例提供的一种数据渲染方法及装置。所述方法包括:获取编辑好的植被的个数n;根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;基于所述植被的个数n以及预存的间隔数构成处理算法;根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。提高了数据渲染效率。

Description

一种数据渲染方法及装置
技术领域
本发明涉及图像渲染领域,具体而言,涉及一种数据渲染方法及装置。
背景技术
植被在显示场景中是一种很常见的事物,特别是在野外和草原中,往往有着大量茂密的植被分布。因此在游戏场景中为了达到和现实场景一致的真实感,通常需要渲染大量的植被,这就带来了巨大的性能压力,为了达到实时的效果,一些LOD(Levels OfDetail)算法得到了应用。目前LOD算法由于无法重用数据,在生成其他LOD级别的索引数据时需要额外的存储空间,渲染效率有待提高。
发明内容
有鉴于此,本发明实施例提供一种数据渲染方法及装置。
一种数据渲染方法,所述方法包括:
获取编辑好的植被的个数n;
根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;
基于所述植被的个数n以及预存的间隔数构成处理算法;
根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;
根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。
可选的,所述处理算法包括:
判断所述植被的个数n是否大于一,当所述植被的个数n大于一时,将所述植被的个数n除以二并舍弃小数位;
针对所述植被的个数n设置位置0到位置n-1的序列,将位置i的值置为i乘以间隔数,其中i为0到n-1的整数,n为大于等于2的整数;初始间隔数为2;
将位置i+n的值置为位置i的值加上间隔数除以二;
将所述间隔数提升一倍。
可选的,所述处理算法还包括:
当所述植被的个数n小于或者等于一时,结束运算。
可选的,根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染的步骤包括:
根据预设的多细节层次的级数,计算得出需要渲染的植被数量,并根据所述需要渲染的植被数量和所述索引数据中的索引序列对所述顶点缓存数据中序列上的植被进行渲染。
可选的,所述需要渲染的植被数量随着所述多细节层级的级数增高而递减。
本发明实施例还提供一种数据渲染装置,所述装置包括:
获取模块,用于获取编辑好的植被的个数n;
生成索引数据模块,用于根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;
构成处理算法模块,用于基于所述植被的个数n以及预存的间隔数构成处理算法;
生成顶点缓存数据模块,用于根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;
数据渲染模块,用于根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。
可选的,构成处理算法模块还用于:
判断所述植被的个数n是否大于一,当所述植被的个数n大于一时,将所述植被的个数n除以二并舍弃小数位;
针对所述植被的个数n设置位置0到位置n-1的序列,将位置i的值置为i乘以间隔数,其中i为0到n-1的整数,n为大于等于2的整数;初始间隔数为2;
将位置i+n的值置为位置i的值加上间隔数除以二;
将所述间隔数提升一倍。
可选的,构成处理算法模块还用于:
当植被个数n小于或者等于一时,结束运算。
可选的,所述数据渲染模块还用于:
根据预设的多细节层次的级数,计算得出需要渲染的植被数量,并根据所述需要渲染的植被数量和所述索引数据中的索引序列对所述顶点缓存数据中序列上的植被进行渲染。
可选的,所述需要渲染的植被数量随着所述多细节层级的级数增高而递减。
本发明实施例提供的一种数据渲染方法及装置,在数据渲染时,避免多余的索引数据生成,节省了缓存,并提高了渲染效率,提高了用户体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的电子设备的方框示意图;
图2为本发明实施例所提供的一种数据渲染方法的流程示意图;
图3为本发明实施例所提供的编辑植被时的示意图;
图4为本发明实施例所提供的一种处理算法的流程示意图;
图5为本发明实施例所提供的LOD下渲染的植被数量关系图;
图6为本发明实施例所提供的切换到下一级LOD时被渲染的第一次生成的数据;
图7为本发明实施例所提供的每级LOD对应的索引数据;
图8为本发明实施例所提供的LOD从0级到3级各级的渲染结果;
图9为本发明实施例所提供的一种数据渲染装置的方框示意图。
图标:10-电子设备;100-处理器;200-存储器;210-数据渲染装置;211-获取模块;212-生成索引数据模块;213-构成处理算法模块;214-生成顶点缓存数据模块;215-数据渲染模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,本发明实施例提供了一种电子设备10,包括处理器100,存储器200和数据渲染装置210。
其中,所述电子设备10可以包括,但不限于是智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。
可选的,在本实施实例中,所述处理器100和存储器200之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据渲染装置210包括至少一个可以软件或固件(firmware)的形式存储于所述存储器200中的软件功能模块。所述处理器100用于执行所述存储器200中存储的可执行模块,例如所述数据渲染装置210所包括的软件功能模块及计算机程序等,以实现数据渲染方法。
其中,所述存储器200可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器200用于存储程序,所述处理器100在接收到执行指令后,执行所述程序。
所述处理器100可能是一种集成电路芯片,具有信号的处理能力。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,图1所示的结构仅为示意,所述电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置,例如,还可以包括用于与服务器进行数据交互的通信单元。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2为本发明实施例所提供的一种数据渲染方法的流程示意图,所述数据渲染方法有关的流程所定义的方法步骤可以由所述处理器100实现。下面将对图2所示的具体流程进行详细阐述。
步骤S101,获取编辑好的植被的个数n。
本发明实施例中,请结合参阅图3,图3为本发明实施例中编辑植被时的示意图。其中,植被块中编号0至7和8至15的植被分别是由不同的两次操作刷出来的。
在实际的应用中,植被的组织方式通常是把平面按照一定的大小划分为一个个正方形的块,以这个块为单元组织文件数据和渲染数据。美术在编辑时也以这个块为单位。美术编辑时通常会投影在地形上一个圆形的笔刷,在这个笔刷里根据强度随机一些位置,这个过程可称为“刷”植被,虽然位置是随机的,但是美术刷的操作是有顺序的。编辑植被时,获取根据顺序生成的植被的个数n。
步骤S102,根据植被的个数n生成索引数据。
本发明实施例中,索引数据按照顺序生成,所述索引数据包括与所述植被的个数n对应的索引序列,例如当植被的个数为16时,其索引数据为[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],索引数据的长度为16。
步骤S103,基于植被的个数n以及预存的间隔数构成处理算法。
本发明实施例中,请结合参阅图4,图4为本发明实施例中处理算法的流程示意图。基于植被的个数n以及预存的间隔数构成处理算法。
步骤S104,根据处理算法对索引序列进行处理,生成顶点缓存数据。
本发明实施例中,根据处理算法对索引序列进行处理,生成顶点缓存数据。其中生成的顶点缓存数据中包括处理后的植被对应的序列。
可选的,根据现有的LOD(Levels Of Detail)策略,可知LOD1级渲染时要使用[0,2,4,6,8,10,12,14],本发明实施例中,根据处理算法对索引序列进行处理,将LOD1级渲染时要使用的这些数据调到前面,而把渲染不用的数据发到后面,调整后的顶点缓存数据为[0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15]。
可选的,针对下一级的LOD,只需要对其上一级LOD的数据进行调整即可,则当调整至LOD2级时,顶点缓存中的数据为[0,4,8,12,2,6,10,14,1,3,5,7,9,11,13,15]。依次对每级LOD进行调整,得到最终的数据为[0,8,4,12,2,6,10,14,1,3,5,7,9,11,13,15]。
步骤S105,根据所述索引数据中的索引序列将顶点缓存数据中序列上的植被进行渲染。
本发明实施例中,所述索引数据的长度为16,在渲染第二级LOD1级时,将索引数据的数量减半传入GPU(图像处理器),则只用8颗植被的索引数据进行渲染,根据顶点缓存中的数据,此次渲染将会把[0,2,4,6,8,10,12,14]这几颗植被渲染出来。
可选的,在渲染LOD2级时,将在LOD1级时索引数据的数量的基础上再减半,则只用4颗植被的索引数据进行渲染,根据顶点缓存中的数据,此次渲染将会把[0,4,8,12]这几颗植被渲染出来。
针对下一级的LOD,只需要对其上一级LOD的数据进行调整即可,则当调整值LOD2级时,顶点缓存中的数据为[0,4,8,12,2,6,10,14,1,3,5,7,9,11,13,15]。
对于植被渲染来说,在距离较远时,远处植被块的许多细节已经无法表达出来,因此只用渲染较低密度(即植被分布较稀疏)的植被数据,基于这种策略,当需要切换LOD时把需要渲染的植被的数量减半即可,通过减少数量来减小植被的密度,以3中的植被数据来说(下文中均以此图及其数据来举例),以100米为一个梯度,每超过100米植被数量减半,请结合参照图5,则会形成如图5所示的LOD梯度。
现有技术中,渲染时通常按照植被生成的顺序填充顶点的索引缓冲区,遇到需要切换LOD时仅仅把要是用的索引的数量减半即可。以图3中的数据为例,则顶点和索引缓冲区都分别包括16颗草的顶点和索引,渲染时通过传入实际使用的索引的数量可以只使用部分数据进行渲染。
但是按照实际植被的编辑方式,如果仅仅简单地减少数量,会出现在下一级LOD下只有先生成的植被数据被渲染出来,造成后生成的一片植被突然消失的现象,而先生成数据的地方植被密度并没有改变,造成效果异常。例如,根据图3所以的结果,会出现图6的现象。
为了解决这个问题,现有方案中,生成下级LOD数据时每间隔一颗取一颗植被数据,这样每次刷出来的植被数据都会被取到。具体的过程如下:
假如有16颗植被数据,则其顶点缓冲区中的数据为:
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
对于LOD0(0为最高级,值越大级别越低,网格越粗糙)级时索引缓冲区中的数据为
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
当切换到LOD1级渲染时,由于需要每隔一颗去一颗的数据,则LOD0级的索引缓冲区无法重用,需要额外创建对于级别的索引缓冲区,其大小只需要上一级别的一半即可,则LOD1级索引缓冲区中的数据为:
[0,2,4,6,8,10,12,14]
按照上述方法,生成当前LOD级别的数据时均以上一级别的数据为基础,依次间隔一颗取一颗数据,依次间隔生成每级LOD的索引数据。最终的数据如图7所示。
请参照图8,图8为LOD从0级到3级各级的渲染结果。
从图8可以看出,随着级别的降低,植被越来越稀疏,但是不影响植被的分布情况,效果更合理。
现有方案主要有两个缺点。
1.需要有额外的数据。由于无法重用数据,在生成其他LOD级别的索引数据时需要额外的存储空间,每级需要的空间是上一级的1/2,假如某个植被块需要n级的LOD,则总共需要额外的存储空间的比例为:
对上述公式进行推导,得出如下公式:
以上述中的例子,LOD的级别为5,代入上式可知索引需要额外93.75%的存储空间。分析该公式的趋势可以看出来,当n远大,该值越接近1,表示额外需要近一倍的空间存储其他级别的LOD数据。
2.当切换至低LOD级别渲染时由于索引的顶点数据不连续,会造成Cache Missing(缓存丢失)现象。以本例中LOD3级的数据为例,此级LOD索引了第0和第8棵草,中间隔了7颗,众所周知,处理器的高速Cache空间有限,对于顶点数据,当其数据里比较大的情况下,可能一次不能把所有的数据调度进高速Cache中。本例中,顶点数据可能被分为第0至7颗和第8至15颗两部分数据进行高速Cache的调度,这样会造成渲染第8颗植被时需要重新从内存中调度数据进入高速Cache,会造成处理器的等待,不利于高速渲染。
本发明实施例中,观察低LOD级别的索引数据发现,相对于其上一级LOD的数据,只不过是把要渲染的植被数据放在了前面。根据这个特性现象,在顶点缓存中,我们可以先是把县级LOD渲染要用到的植被调整倒前面,例如,现有方案中,LOD0级的顶点缓存数据如下
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
本发明实施例中,通过调整了植被的顶点数据的顶点缓存数据中的顺序,避免了现有方案中多余的索引数据生成,节省了缓存。
同时把低LOD级别渲染时用到的数据集中调整到缓存的前面,使数据分布更加集中,减少了缓存缺失的现象,有利于GPU图形处理器的高速渲染。
请参阅图9,图9为本发明实施例所提供的一种数据渲染装置210的方框示意图。所述数据渲染装置210可以包括获取模块211、生成索引数据模块212、构成处理算法模块213、生成顶点缓存数据模块214和数据渲染模块215。
获取模块211,用于获取编辑好的植被的个数n。
本发明实施例中,获取模块211用于执行图2的步骤S101,关于所述获取模块211的具体描述可以参照图2中步骤S101的详细描述。
生成索引数据模块212,用于根据植被的个数n生成索引数据。
本发明实施例中,生成索引数据模块212用于执行图2的步骤S102,关于所述生成索引数据模块212的具体描述可以参照图2中步骤S102的详细描述。
构成处理算法模块213,用于基于植被的个数n以及预存的间隔数构成处理算法。
本发明实施例中,构成处理算法模块213用于执行图2的步骤S103,关于所述构成处理算法模块213的具体描述可以参照图2中步骤S103的详细描述。
生成顶点缓存数据模块214,用于根据处理算法对索引序列进行处理,生成顶点缓存数据。
本发明实施例中,生成顶点缓存数据模块214还用于执行图2的步骤S104,关于所述生成顶点缓存数据模块214的具体描述可以参照图2中步骤S104的详细描述。
数据渲染模块215,用于根据所述索引数据中的索引序列将顶点缓存数据中序列上的植被进行渲染。
本发明实施例中,数据渲染模块215还用于执行图2的步骤S105,关于所述数据渲染模块215的具体描述可以参照图2中步骤S105的详细描述。
本领域的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器100以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器100执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器100以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器100执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
综上所述,本发明实施例提供的一种数据渲染方法及装置。所述方法包括:获取编辑好的植被的个数n;根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;基于所述植被的个数n以及预存的间隔数构成处理算法;根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。通过调整植被的顶点缓存数据中的顺序,避免多余的索引数据生成,节省缓存。同时把低LOD级别渲染时用到的数据集中调整倒了缓存的前面,使数据分布更加集中,避免了缓存缺失的现象,有利于图像处理器的高速渲染。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种数据渲染方法,其特征在于,所述方法包括:
获取编辑好的植被的个数n;
根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;
基于所述植被的个数n以及预存的间隔数构成处理算法;
根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;
根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。
2.根据权利要求1所述的数据渲染方法,其特征在于,所述处理算法包括:
判断所述植被的个数n是否大于一,当所述植被的个数n大于一时,将所述植被的个数n除以二并舍弃小数位;
针对所述植被的个数n设置位置0到位置n-1的序列,将位置i的值置为i乘以间隔数,其中i为0到n-1的整数,n为大于等于2的整数;初始间隔数为2;
将位置i+n的值置为位置i的值加上间隔数除以二;
将所述间隔数提升一倍。
3.根据权利要求2所述的数据渲染方法,其特征在于,所述处理算法还包括:
当所述植被的个数n小于或者等于一时,结束运算。
4.根据权利要求1所述的数据渲染方法,其特征在于,根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染的步骤包括:
根据预设的多细节层次的级数,计算得出需要渲染的植被数量,并根据所述需要渲染的植被数量和所述索引数据中的索引序列对所述顶点缓存数据中序列上的植被进行渲染。
5.根据权利要求4所述的数据渲染方法,其特征在于,
所述需要渲染的植被数量随着所述多细节层级的级数增高而递减。
6.一种数据渲染装置,其特征在于,所述装置包括:
获取模块,用于获取编辑好的植被的个数n;
生成索引数据模块,用于根据所述植被的个数n生成索引数据,所述索引数据包括与所述植被的个数n对应的索引序列;
构成处理算法模块,用于基于所述植被的个数n以及预存的间隔数构成处理算法;
生成顶点缓存数据模块,用于根据所述处理算法对所述索引序列进行处理,生成顶点缓存数据,所述顶点缓存数据中包括处理后的植被对应的序列;
数据渲染模块,用于根据所述索引数据中的索引序列将所述顶点缓存数据中序列上的植被进行渲染。
7.根据权利要求6所述的数据渲染装置,其特征在于,构成处理算法模块还用于:
判断所述植被的个数n是否大于一,当所述植被的个数n大于一时,将所述植被的个数n除以二并舍弃小数位;
针对所述植被的个数n设置位置0到位置n-1的序列,将位置i的值置为i乘以间隔数,其中i为0到n-1的整数,n为大于等于2的整数;初始间隔数为2;
将位置i+n的值置为位置i的值加上间隔数除以二;
将所述间隔数提升一倍。
8.根据权利要求7所述的数据渲染装置,其特征在于,构成处理算法模块还用于:
当植被个数n小于或者等于一时,结束运算。
9.根据权利要求6所述的数据渲染装置,其特征在于,所述数据渲染模块还用于:
根据预设的多细节层次的级数,计算得出需要渲染的植被数量,并根据所述需要渲染的植被数量和所述索引数据中的索引序列对所述顶点缓存数据中序列上的植被进行渲染。
10.根据权利要求9所述的数据渲染装置,其特征在于,
所述需要渲染的植被数量随着所述多细节层级的级数增高而递减。
CN201811426698.8A 2018-11-27 2018-11-27 一种数据渲染方法及装置 Active CN109529342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811426698.8A CN109529342B (zh) 2018-11-27 2018-11-27 一种数据渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811426698.8A CN109529342B (zh) 2018-11-27 2018-11-27 一种数据渲染方法及装置

Publications (2)

Publication Number Publication Date
CN109529342A true CN109529342A (zh) 2019-03-29
CN109529342B CN109529342B (zh) 2022-03-04

Family

ID=65851561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811426698.8A Active CN109529342B (zh) 2018-11-27 2018-11-27 一种数据渲染方法及装置

Country Status (1)

Country Link
CN (1) CN109529342B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288688A (zh) * 2019-06-20 2019-09-27 网易(杭州)网络有限公司 虚拟植被的渲染方法、装置、存储介质与电子设备
CN114494024A (zh) * 2022-04-13 2022-05-13 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339590B1 (en) * 2004-09-02 2008-03-04 Nvidia Corporation Vertex processing unit supporting vertex texture mapping
CN102750725A (zh) * 2012-06-05 2012-10-24 南京安讯网络服务有限公司 基于图形处理器加速的地形渲染方法
US20150049107A1 (en) * 2013-08-13 2015-02-19 Yong Ha Park Graphics processing unit, graphics processing system including the same, and method of operating the same
CN105913476A (zh) * 2016-06-14 2016-08-31 腾讯科技(深圳)有限公司 植被图像的渲染方法和装置
CN106204735A (zh) * 2016-07-18 2016-12-07 中国人民解放军理工大学 Unity3D地形数据在Direct3D 11环境中的使用方法
CN106408637A (zh) * 2016-08-29 2017-02-15 北京像素软件科技股份有限公司 植被场景的渲染方法
CN106780698A (zh) * 2016-12-23 2017-05-31 深圳市刑天科技开发有限公司 基于图形处理器加速的地形渲染方法
CN108109204A (zh) * 2017-12-18 2018-06-01 苏州蜗牛数字科技股份有限公司 一种制作和渲染大规模地形的方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339590B1 (en) * 2004-09-02 2008-03-04 Nvidia Corporation Vertex processing unit supporting vertex texture mapping
CN102750725A (zh) * 2012-06-05 2012-10-24 南京安讯网络服务有限公司 基于图形处理器加速的地形渲染方法
US20150049107A1 (en) * 2013-08-13 2015-02-19 Yong Ha Park Graphics processing unit, graphics processing system including the same, and method of operating the same
CN105913476A (zh) * 2016-06-14 2016-08-31 腾讯科技(深圳)有限公司 植被图像的渲染方法和装置
CN106204735A (zh) * 2016-07-18 2016-12-07 中国人民解放军理工大学 Unity3D地形数据在Direct3D 11环境中的使用方法
CN106408637A (zh) * 2016-08-29 2017-02-15 北京像素软件科技股份有限公司 植被场景的渲染方法
CN106780698A (zh) * 2016-12-23 2017-05-31 深圳市刑天科技开发有限公司 基于图形处理器加速的地形渲染方法
CN108109204A (zh) * 2017-12-18 2018-06-01 苏州蜗牛数字科技股份有限公司 一种制作和渲染大规模地形的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288688A (zh) * 2019-06-20 2019-09-27 网易(杭州)网络有限公司 虚拟植被的渲染方法、装置、存储介质与电子设备
CN110288688B (zh) * 2019-06-20 2023-07-14 网易(杭州)网络有限公司 虚拟植被的渲染方法、装置、存储介质与电子设备
CN114494024A (zh) * 2022-04-13 2022-05-13 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109529342B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN110070399A (zh) 一种优惠券推送方法及装置
CN103093499B (zh) 一种适用于网络传输的城市三维模型数据组织方法
CN109529342A (zh) 一种数据渲染方法及装置
CN109003075A (zh) 一种风险识别方法及装置
CN106131641A (zh) 一种弹幕控制方法、系统和安卓智能电视
CN109583890A (zh) 异常交易对象的识别方法、装置及设备
CN102262664A (zh) 一种质量评价的方法和装置
CN109710542A (zh) 一种满n叉树构建方法及装置
CN109686431A (zh) 基于混合灰狼-变邻域搜索算法的手术室调度方法与装置
CN110399096A (zh) 分布式文件系统元数据缓存重删的方法、装置以及设备
CN108122167A (zh) 一种理财产品的交易处理方法及装置
Wu et al. GPU-based power converter transient simulation with matrix exponential integration and memory management
CN106682001B (zh) 基于格网的多比例尺海量数据空间渲染方法
CN109003090A (zh) 风险控制方法和装置
CN106227881A (zh) 一种信息处理方法及服务器
CN106067158B (zh) 一种基于gpu的特征比对方法及装置
CN110019205A (zh) 一种数据存储、还原方法、装置及计算机设备
Dyken et al. Semi‐Uniform Adaptive Patch Tessellation
CN106961396B (zh) 基于fpga片内缓存实现sv报文处理的方法和装置
CN115601524A (zh) 一种破碎模型生成方法、装置、电子设备和存储介质
CN114722048B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110175808A (zh) 一种订单管理、查询方法、装置、设备及介质
CN110322139A (zh) 策略推荐方法及装置
CN113014674B (zh) 服务依赖关系图的绘制方法及装置
CN113407587B (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