CN109919827A - 一种图形绘制方法、装置及计算机可读介质、设备 - Google Patents

一种图形绘制方法、装置及计算机可读介质、设备 Download PDF

Info

Publication number
CN109919827A
CN109919827A CN201910131742.0A CN201910131742A CN109919827A CN 109919827 A CN109919827 A CN 109919827A CN 201910131742 A CN201910131742 A CN 201910131742A CN 109919827 A CN109919827 A CN 109919827A
Authority
CN
China
Prior art keywords
vertex
face
cache area
data
new addition
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
Application number
CN201910131742.0A
Other languages
English (en)
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.)
Search Trip Network Technology (beijing) Co Ltd
Original Assignee
Search Trip Network Technology (beijing) 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 Search Trip Network Technology (beijing) Co Ltd filed Critical Search Trip Network Technology (beijing) Co Ltd
Priority to CN201910131742.0A priority Critical patent/CN109919827A/zh
Publication of CN109919827A publication Critical patent/CN109919827A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种图形绘制方法、装置及计算机存储介质、设备。该方法包括:确定至少一个顶点缓存区;将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内,所述顶点数据包括构成所述元素的顶点的位置坐标信息;当图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。本申请实施例提高了图形绘制效率。

Description

一种图形绘制方法、装置及计算机可读介质、设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种图形绘制方法、装置及计算机可读介质、设备。
背景技术
随着计算机技术的发展,人们通过依托于计算机的图形绘制技术,可以绘制(或渲染)出满足各种需要的电子图形(或图像)。比如,在一些实时性较强的网络游戏中,需要通过不断的图形绘制来展示各种人物、环境、场景等游戏要素的变化。图形绘制的速度快慢,将直接影响到用户对多媒体视频、游戏、广告视频等产品的体验,从而波及到产品的运营。
为增强层次感、现实感,传统的2D图形绘制逐渐过渡到3D图形绘制。但无论是2D图形绘制,还是3D绘制图形,在进行绘制时,均是由处理设备的CPU(中央处理单元)来执行绘制指令。考虑到GPU的强渲染能力,现实中CPU接收到绘制指令后,并非自己直接完成指令执行任务,而是转为调用图形编程接口(比如,DrawCall函数),命令GPU完成图形渲染。在每次调用图形编程接口前,CPU组织好绘制所需要的各种数据、渲染状态及各种绘制指令,然后提交给GPU具体完成绘制工作。
通常,被绘制的2D或3D图形由最小的绘制基本单位(以下称为元素)组成,而这些元素少则上千,多则上万,甚至十万或更多。按照上述绘制方法,在绘制目标图形时,每绘制一个元素均需调用图形编程接口,组成目标图形的元素越多,该调用次数将越多,由此大大降低了图形绘制的效率,严重影响用户体验。
发明内容
有鉴于此,本说明书实施例提供了一种图形绘制方法、装置及计算机可读介质,用于解决现有技术中图形绘制效率低下的问题。
一方面,本说明书实施例提供的一种图形绘制方法,包括:
确定至少一个顶点缓存区;
将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内,所述顶点数据包括构成所述元素的顶点的位置坐标信息;
当图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。
优选地,所述目标图形中的元素包括至少两个元素,所述至少两个元素包括本次绘制之前已绘制过的至少一个元素和本次绘制新加入的至少一个元素。
优选地,当本次绘制有新加入元素时,判断所述新加入的元素的各个顶点数据是否已存储在所述顶点缓存区中;如果是,则记录所述新加入元素中顶点数据已存储在所述顶点缓存区的顶点在所述顶点缓存区的位置,不将该顶点的顶点数据缓存到所述顶点缓存区。
优选地,当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有不可见的面,则删除所述不可见的面对应的顶点数据,或者当图形绘制被触发时,不对所述不可见的面对应的顶点数据进行渲染。
优选地,所述删除所述不可见的面对应的顶点数据,具体包括:
将所述顶点缓存区中由至少三个顶点构成的存储于顶点缓存区中最末尾的面的顶点数据,覆盖所述不可见的面对应的顶点数据。
优选地,所述顶点数据包括顶点色数据;当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有被光线影响产生阴影的面,则对所述被光线影响产生阴影的面对应顶点的顶点色数据进行调整使其变暗。
优选地,当需要删除目标图形中的元素时,将所述顶点缓存区中存储于最末尾的元素的各个顶点数据,覆盖所述需要删除的目标图形中元素对应的各个顶点数据。
优选地,所述方法还包括:确定至少一个顶点索引区,所述顶点索引区用于存储所述元素的顶点数据在所述顶点缓存区中的位置;
所述对所述顶点缓存区内缓存的多个顶点数据进行一次新渲染,具体包括:
确定目标图形中元素的各个顶点在顶点索引区中的数值;
根据所述顶点索引区中的数值从顶点缓存区中确定目标图形中元素相应的顶点数据;
对所述目标图形中元素相应的顶点数据进行一次性渲染。
又一方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
再一方面,本申请实施例还提供了一种用于在用户设备端进行信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
又一方面,本申请实施例提供了一种图形绘制装置,该装置包括:
顶点缓存区,用于缓存图形中元素的顶点数据,所述顶点数据包括构成所述元素的顶点的位置坐标信息;;
缓存单元,用于将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内;
渲染单元,用于在图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。
优选地,所述装置还包括第一判断单元,用于当本次绘制有新加入元素时,判断所述新加入的元素的各个顶点数据是否已存储在所述顶点缓存区中;如果是,则记录所述新加入元素中顶点数据已存储在所述顶点缓存区的顶点在所述顶点缓存区的位置,不将该顶点的顶点数据缓存到所述顶点缓存区。
优选地,所述装置还包括第二判断单元,用于当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有不可见的面,则删除所述不可见的面对应的顶点数据,或者当图形绘制被触发时,不对所述不可见的面对应的顶点数据进行渲染。
优选地,所述装置还包括第三判断单元,用于当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有被光线影响产生阴影的面,则对所述被光线影响产生阴影的面对应顶点的顶点色数据进行调整使其变暗。
本说明书实施例采用的上述至少一个技术方案将待绘制的目标图形中的元素的各个顶点数据缓存到预先确定的顶点缓存区中,然后在图形绘制被触发时,一次性地将顶点缓存区中的顶点数据提交渲染,避免了一个元素的渲染进行一次提交操作和渲染操作,减少了提交操作的次数,提高了图形绘制效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请的图形绘制方法实施例流程图;
图1b为本申请的图形绘制方法实施例演示图;
图2为按照本申请实施例绘制的一个示意性实例的效果图;
图3a为未经过处理的目标图形中相邻元素的仰视状态图和前视状态图;
图3b为经过处理的目标图形中相邻元素的仰视状态图和前视状态图;
图4a为删除B元素之前顶点缓存区的状态图;
图4b为删除B元素之后顶点缓存区的状态图;
图5为本说明书实施例中图形绘制装置示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案执行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前所述,在现有技术中绘制一个目标图形时,由于每进行一次绘制,便需要CPU调用图形编程接口,向GPU提交该目标图形中众多元素的顶点数据,而目标图形中通常存在成百上千,乃至上万个元素,使得调用过程也将进行成百上千,乃至上万次,由此大大降低了图形绘制的效率。这种技术上的缺陷,在使用目标图形的用户看来,图形绘制过程过于缓慢,画面不流畅,显得“卡”。这在一些实时性要求较高的产品中,本该数秒或更短时间内完成,却在几秒或更长的时间内才得以完成,简直可以“难易忍受”,从而严重影响到用户的体验。如果是偶尔出现图形绘制延迟,尚且可“原谅”,但是,在一个目标图形使用过程中,基于处理设备的刷新率,将不断地进行刷新操作,每次刷新便是一次图像重新绘制过程,一次重新绘制需要进行成百上千的数据提交,那么进行连续不断的刷新操作,将由于一次的延迟而变得次次延长,从而引发图形绘制的“雪崩效应”,这是一个严重的后果。
为了解决上述技术上的问题,本申请说明书实施例提供一种全新的图形绘制方案。在对该方案进行详细介绍之前,为理解的便利,这里先对一些基本的概念予以说明。
在本申请的各种实施例中,将涉及“元素”及“顶点”概念。元素是相对于整体而言,如果将待绘制的目标图形作为一个整体,那么构成该目标图形的一个个最小的基本单元,便是元素。最小基本单元不是单单从目标图形的组成本身而言的,而更多的是从绘制目标图像的绘制操作而言的。比如,一个大型的3D建筑场景,单从该场景的组成来看,整个3D建筑场景是由一间间房屋组成的,但从绘制3D建筑场景而言,则是通过绘制一个一个小立方体(Cube)才得以绘制出一个建筑单元(砖块),一个个建筑单元的组合才构成一个房间,进而才得到一个完整的3D建筑场景,由此,这里将一个个小立方体看着“元素”更合适。也就是说,“元素”是绘制的基本单元,在某些时候可能与场景的构成基本单元相同,在某些时候可能又不相同。在这样的理解之下,那么元素便可进一步“内窥”。假如目标图形是由绘制一个个小立方体而完成(当然,也可以是其他结构体,比如立锥体、圆柱体等),那么为完成对“小立方体”(Cube)的绘制,则是通过对组成该Cube的8个顶点的顶点数据的处理而得到的。如果在另一种实现方式中,对最小基本单元的绘制是通过对组成该Cube的6个面的面数据的处理而得到,那么对“元素”概念的“内窥”,则可以止于面数据。为简便期间,只要不妨碍发明目的的实现,本申请中的顶点数据,将作为纯粹一个点的点数据以及某些情况下一个面的面数据的统称。
在本申请各种实施例中,会涉及“图形”这一基本术语。图形是通过执行指令而得出的一个执行结果,对于观察图形的观察者而言,它并非一定表现为一副美妙的图画,可以仅仅是素描、线条组合、线点组合等,它也并非一定是一个2D或3D的图形,在上述3D建筑场景中,建筑所坐落的地面看着是一个2D平面,但它可能是由多个小立方体(Cube)紧密排列形成。此外,本申请也不严格去区分“图形”与“图像”有何种细微上的差异。由此,“图形绘制”便是一个较为广泛的概念,从计算机的角度,实现了对目标对象的渲染便是完成了图形绘制。
在本申请各种实施例中,还将涉及“缓存区”的用语。缓存(Buffer)是用于临时存放数据,但在本申请中仅仅是就“缓存”的这一基本功能进行使用,对于“缓存”究竟存储某个数据要多久才称为“缓”存,并非需要着重讨论的问题,它是相对于永久性存储而言,因而在对缓存使用的范畴内,便成立“缓存”。比如,当前正进行一款游戏应用的操作,在该游戏整个运行过程中,存在一定空间大小的用于存储游戏过程产生的数据的存储区,当该游戏应用退出或者该游戏应用的某一局结束,则该存储区内的数据将消失,变得“空白”而可以再次写入数据,那么,这种具有数据写入和数据消失时间的存储区便可理解为缓存。同样地,本申请中也不着重讨论缓存的形成、大小、数量等内涵:缓存可能来自处理设备中专门指定的内存的一部分,也可以来自处理设备之外但与该处理设备连接的其他专用于数据临时读写的存储块;缓存的大小可基于实际存储数据的需要而设定,当不足以满足当前数据写入的需要时,可以通过删除重复数据或过期数据等形式收回缓存空间,也可以通过自由而动态扩展的方式再行增加缓存空间;缓存的数量同样是基于实际业务的需要,如果说几条业务并行,可以分别设定缓存区,或者即便是针对同一个业务,为了增强对缓存的控制,也可以多设定个缓存区,从而使得缓存“短小精干”,易于访问、管理及控制。
对几个基本术语予以简要说明后,回到本申请实施例中来。参见图1a、1b,图1a示出了解决现有技术问题的一种图形绘制方法实施例的流程,图1b示出了该图形绘制方法实施例的演示图。该流程包括:
S101:确定至少一个顶点缓存区;
该步骤的顶点缓存区用于缓存目标图形中元素的各个顶点数据。前述提及,一个待绘制的目标图形可能有多个元素(如图1b中的A、B、C、D等),一个元素可能有多个顶点,一个顶点可能有从不同角度描述它的顶点数据。以构成目标图形的元素为小立方体为例,一个小立方体有8个顶点,一个顶点具有位置坐标数据,如在设定的坐标系中(比如,以目标图形所在的虚拟世界中某个基点为原点的坐标系)的长、宽、高值,还可以包括颜色值(顶点色)数据,如以RGB表达的颜色分量值,以及VB等数据。确定顶点缓存区,具体可以在预先准备的内存块中划分出一个区域作为顶点缓存区(VertexBuffer)。如果根据业务或数据存储需要,该划分出来的顶点缓存区不足,则可以进一步动态扩展,扩展缓存区的方向可以是对一个已有缓存区的空间加大,也可以是另行开辟一个独立缓存区。在多条业务线(线程)并行处理的情况下,可以同时存在多个顶点缓存区。
S102:将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内,所述顶点数据包括构成所述元素的顶点的位置坐标信息;
通过前述步骤确定出顶点缓存区后,便为顶点数据找到了“落脚之地”,随后将待绘制的目标图形中的元素的各个顶点数据缓存到顶点缓存区内。由于目标图形中包含很多元素,那么可以采取更果断的方式,将目标图形的全部元素的全部顶点数据存储于确定的顶点缓存区内;也可以采取更柔和与兼容的方式,将目标图形的部分元素的全部顶点数据存储于顶点缓存区内,而将目标图形中的其他元素的全部顶点数据按照现有技术的处理方式进行处理,如直接提交到GPU完成绘制,至于哪些元素作为“果断措施”的对象,哪些元素作为“柔和措施”的对象,可以按照元素在目标图形中的重要性、元素在目标图像中的展示位置等因素来区分。尽管如此,作为一种全新的技术方案,可以优选将目标图形的全部元素的全部顶点数据缓存到顶点缓存区。不过,在对目标图形进行绘制时,在连续接收多个元素的情况下,采取所谓“果断措施”,则可能需要等到全部元素的顶点数据存储到缓存区后,才能进行如后续步骤的一次性绘制,因而如果对这种时间的等待无法容忍时,则可以选择将部分先接收的元素按照现有技术的做法,一个一个提交GPU渲染,其它能够接受“时间等待”的元素留待后续一次新提交渲染。由于是对目标图形众多元素中的“一部分”而非全部采取上述措施,既能兼顾到图形绘制的速度,也能使得渲染结果更快呈现,由此体现出“局部优势”。
需要说明的是,在将顶点数据缓存到顶点缓存区后,在每个元素的属性中,还可以在内存中另外开辟一个存储区记录元素各个面在顶点缓存区中的位置,具体实现时,可以通过记录构成各个面的顶点数据在顶点缓存区的位置来实现,即建立起元素的面与构成该面的几个顶点数据在顶点缓存区中位置之间的对应关系,这样当需要对元素的面进行操作时,一方面确保指令的参数不用细化到顶点数据这个层级,减少指令的复杂度,另一方面又能在具体执行指令时获取到顶点数据,完成目标操作。由于记录了各个元素的面,这样就便于对单个元素进行移动、删除以及二次编辑等目标操作,操作时仅修改顶点缓存区中的数值即可实现目标。S103:当图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。
基于前述步骤将目标图形的顶点数据缓存到顶点缓存区后,一旦图形绘制被触发,则可以将顶点缓存区内的多个顶点数据一次性提交GPU实现渲染,进而完成目标图形的绘制。图形绘制的触发可以是自动触发也可以是人为触发,比如,通常情况下,用户进行图形绘制处理的设备均具备一定的刷新率,没刷新一次屏幕上的图形就将被重新绘制一次,因而“刷新”的进行便起到触发图形绘制的作用,刷新率越大,在单位时间内绘制的次数就越多,画面也就越清晰、鲜活;也可以设置定时任务,当定时任务中的时间被触发时,也就触发了图形绘制操作。在一些应用场景中,通过设置刷新按钮、触发按钮,亦可实现目标图形绘制的触发。
在上述介绍的完整实施例中,没有“火急火燎”地将接收到的目标图形每个元素立即提交GPU渲染,而是“缓半步”,将多个元素的顶点数据缓存到确定的顶点缓存区,然后再以“顶点缓存区”为整体,将其中缓存的顶点数据集中式一次性地提交GPU渲染,完成目标图形的绘制。由于仅仅是一次性提交,待绘制的目标图形的元素较少时,与一次一提交的模式相比,有效果但不明显,但当待绘制的目标图形的元素越来越多,从整体上节约绘制时间的效果将非常明显的体现出来,画面将更流畅,运行效率明显提升,有力地提升了用户体验。而目标图形中元素数量的增加,随着计算机技术的发展,几乎不可否地断言,将是一个必然趋势,本申请实施例的应用前景将更为广阔。图2示出了按照上述技术方案绘制的一个示意性实例的效果图。
在前述实施例中,提交将待绘制的目标图形中的元素的各个顶点数据缓存到顶点缓存区。在该步骤中,由于目标图形的绘制不是单个单个元素的绘制,而是一旦触发目标图形绘制,将涵盖既往历史元素的全部重新渲染,因而被缓存的元素,可能是在本次绘制之前已绘制过的元素,也有可能是本次绘制新加入的元素。基于这种元素时间性差异的特点,为进一步优化上述方案提供了可能。如前所述,无论一个元素是已经绘制过的元素,还是新加入的元素,均需要将其顶点数据存储到顶点缓存区,这就将造成一种可能:新加入到目标图形中的元素,由于可能与已经存在的元素存在相同的顶点数据,将造成同一个顶点数据的再次缓存,这显然导致存储空间和操作时间的“双重”耗费。为此,可以考虑一种“去重”的方案:当本次绘制新加入元素时,先判断新加入的元素的各个顶点数据是否已存储在顶点缓存区中,如果找到了同样数值的顶点数据,那说明顶点缓存区中已有该顶点数据,这样可以仅仅记录该新加入元素中顶点数据已存储在顶点缓存区的顶点在顶点缓存区的位置,然后不将该顶点的顶点数据缓存到顶点缓存区。
通过上述这种处理方式,使得顶点缓存区内的顶点数据各不相同,没有重复的顶点数据,从而节约了有限的缓存空间。另外一个伴随的效果是,不再出现重复“面”:由于面由点构成,没有重复的顶点数据,那么自然没有构成元素的重复的“面”,其已被“合二为一”了。值得说明的是:上述处理方式是从顶点的角度进行的判断,实际上从另一个视角来考虑,其也可以通过判断不同元素之间相邻关系来实现,因为只有那些相邻的元素才有可能出现相同的顶点数据,两个相隔甚远的元素,不可能存在相同的顶点数据。
在前述的改进优化方案中,尽管避免了顶点缓存区中存储同样的元素的面,但是,可以想见,在实际应用过程中,不存储同样的面,并不意味着不会绘制同样的面,即在绘制具有一个或多个相同顶点数据的元素后,具有该相同顶点数据的另一个元素也需要根据记录的该顶点的位置再绘制一遍,以便绘制出自己本身这个元素。比如,元素A与元素B均具有顶点X这个顶点,那么在绘制元素A时要使用一次X这个顶点的顶点数据,绘制元素B时也要使用X这个顶点的顶点数据。实际上,具有相同的顶点,尤其是具有相同的三个顶点以上的两个元素(比如两个立方体紧邻之处),往往意味着有相同的面,从观察者的角度而言,就是两个“面”发生了重合,这时这个“面”实际上也就不可见。对于这种不可见的面,对其进行绘制没有多大意义,也浪费绘制资源,为此,一种可行的优化措施是在顶点存储区中删除该不可见面对应的顶点数据,这样绘制时便因无数据而不会再绘制;另一种可行的优化措施是即便在顶点缓存中存储,但当图形绘制被触发时,选择对其予以“漠视”,即不对该不可见面对应的顶点数据进行渲染。
剔除这种顶点缓存区中的不可见面,既节约了顶点缓存区的存储资源,又避免了绘制操作的资源消耗,可谓“两全”。要对“不可见面”进行删除,可以有多种方法。比如,从顶点缓存区中确定出某个面为不可见面时,直接予以删除,然后将存储于该“不可见面”之后的顶点数据前移,以保障顶点缓存区不出现“空隙”。然而,这种方式是一种“霸王硬上弓”的“鲁莽”,尤其是该“不可见面”位于顶点缓存区的前端时,将牵一发而动全身,需要改写其后所有的元素各个顶点数据的存储位置,其数量可能不小,由此“动静”过大,造成大量计算资源的耗费。为使得删除操作“平滑而悄无声息”,节约计算资源,可以采取“交换方案”,即将顶点缓存区中由至少三个顶点构成的存储于顶点缓存区中最末尾的面的顶点数据,覆盖掉该“不可见面”对应的顶点数据,这种仅仅涉及顶点缓存区最末端的“面”与“不可见面”两个面,与其他“面”无涉,从而顺利完成对“不可见面”的删除。
与目标图形中元素的面相关的问题,还可以继续探讨。在一个目标图形中存在多个元素,多个元素相互之间将存在近邻关系,这些存在相互近邻关系的元素除了具有前述的面与面重复的问题外,还可能基于“漫反射”的存在,在光线上存在相互的影响,这类现象称为环境光遮蔽(Ambient Occlusion,注:不同于未被光线照射而在物体背后产生的阴影)。从观察者的角度而言,可以看见在一个元素的面与另一个元素的面相邻时,可能会在另一个面上形成一定程度的阴影(注意并非遮挡),从而更能体现空间层次感。为在3D目标图形中呈现出这种效果,解决或改善目标场景中缝隙、褶皱与墙角、角线以及细小物体等表现不清晰的问题,当本次绘制有新加入元素时,可以判断新加入元素中的面与其他相邻元素的面之间的关系,如果有被光线影响而产生阴影的面,则可以对该被光线影响产生阴影的面对应顶点的顶点色数据进行调整,使其变暗。顶点色数据作为顶点数据的一种,也存储在顶点缓存区之中。对顶点色数据进行调整的具体方式可以是,将有影响的面对应的顶点色乘以一个系数(比如,0.7),从而将顶点色变暗。这里需要说明的是,一个元素的面的颜色是由组成该面的顶点的顶点色决定的,一个小立方体的四个顶点的顶点色从自身数值开始,向中心逐渐过渡蔓延,从而填充完整个面,形成“面”色彩。
下面通过图示说明。参见图3a所示,呈现出了未经过处理的目标图形中的多个元素相邻状态下的俯视图和前视图,现在假设该图中的(3,3)位置(以图左上角为为坐标原点)上新加入一个小立方体元素,那么该小立方体在“漫反射”的原理下,将作用于其周边的小立方体。采用如前所述的方法,对其四个顶点(如图中红色点)的顶点色予以调整。调整后呈现的效果如图3b所示。
在前述各种实施例中,重点讨论了新加入元素到目标图形中的情形,但在现实中,还存在删除元素的可能。与前述提及存在重复面的删除同样的道理,这里也可以采取“交换”方案进行不需要元素的删除。参见图4a、4b,假设要删除A、B、C、D四个元素中的B元素,图4a示出了删除B元素之前顶点缓存区的状态;图4b示出了删除B元素之后顶点缓存区的状态。从该图可以看出,为了实现对B元素的删除,并没有必要在删除B之后,将C、D往前移的操作,而是在该顶点缓存区的末尾中选择D元素,然后将D元素移动到B元素除,从而在保持C元素位置不发生变化的情况下实现了对B元素的删除。这种模式可以概括为当需要删除目标图形中的元素时,将所述顶点缓存区中存储于最末尾的元素的各个顶点数据,覆盖需要删除的目标图形中元素对应的各个顶点数据。上述举例时在D元素之间仅有一个C元素,当D元素之前有很多元素时,效果体现更明显,由于D之前的元素特别多,如果采取直接逐个前移以填补被删除元素留下的空白时,将大大导致性能损耗,而采取上述将最末尾元素调换至删除的元素位置处,因仅仅涉及一个元素的移动,从而节约了资源,减少了性能损耗。
前述实施例大概是在同一个方向上完成了对第一个实施例的优化和改进,实际上,本申请实施例的改进和完善可以是多方向、多角度的。下面列举一种方式:在前面实施例中提到将目标图形的顶点数据存储于顶点缓存区中,这种缓存是直接缓存,即将顶点数据本身存储于顶点缓存区,这种方式下,当需要对顶点数据进行改变时,将非常麻烦,尤其影响到对提交该GPU渲染的指令参数。为此,本申请实施例提供一种可将顶点缓存区的数据与指令解耦的方式,那就是再设定一个顶点索引区(IndexBuffer),用于存储顶点数据在顶点缓存区中的位置,在指令的参数中可以直接使用该顶点索引区的数值,而不是顶点数据本身,当需要执行指令时,再根据顶点去顶点索引区中区查询该顶点在顶点缓存区中的位置值,然后根据该位置值从顶点缓存区中找到该顶点的顶点数据本身,用于GPU对目标推行中元素相应顶点数据的渲染。
基于顶点索引区的存在,完全可以将其预先定义在一段固定值,如绘制第一个元素Cube,其顶点索引区(indexBuffer)的值为:
第一面:0、1、2、2、3、0
第二面:4、5、6、6、7、4
第三面:8、9、10、10、11、8
第四面:12、13、14、14、15、12
第五面:16、17、18、18、19、16
第六面:20、21、22、22、23、20
上述“0”“1”等数值指引了某个顶点在顶点缓存区中的位置。由于目标图形中各种场景均由相同式样的元素Cube组成,当有新元素加入目标图形或者需要连续绘制多个元素时,完全可以把上面这个有规律的数据,加上N(绘制的元素个数)*24(顶点数),即将顶点索引区的数值保持不变,通过加上N*24的偏移量,逐个绘制出相应的元素。通过这种方式,可以预先将顶点索引区中的所有值一次性分配好,仅上传一次GPU,然后通过特定的函数(比如,drawElement函数)控制元素个数。由此减少二次修改顶点索引区的次数,又避免了多次将顶点索引区上传到GPU,从而提高运行效率。
前述内容从各个方面详细介绍了本申请的方法实施例,与之对应的本申请还提供了装置实施例。参见图5,该图示出了图形绘制的装置实施例的结构示意图,该装置实施例包括:顶点缓存区U51,用于缓存元素的顶点数据,所述顶点数据包括构成元素的顶点的位置坐标信息;缓存单元U52,用于将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内;渲染单元U53,用于在图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。该装置由于预先将目标元素的各个顶点数据缓存到顶点缓存区,然后再以顶点缓存区为整体,对该缓存区内的多个顶点数据进行一次性渲染,该方式避免了现有技术“一个顶点数据一次提交”“单独渲染”的做法,从而节约了资源,提供了图形绘制的效率。
上述实施例中面对的元素可以是新加入的元素,该情况下需要将该新加入的元素连同原来已在目标图形中的元素进行共同绘制;也可以仅仅是原来已经存在的元素,在绘制被触发的情况下进行再次绘制。对于新加入的元素,一种改进的图形绘制装置是增加一个判断单元(第一判断单元U54),用于判断新加入的元素的各个顶点数据是否已存储在所述顶点缓存区中;如果是,则记录所述新加入元素中顶点数据已存储在所述顶点缓存区的顶点在所述顶点缓存区的位置,不将该顶点的顶点数据缓存到所述顶点缓存区。增加这样一个新的单元,可以避免顶点缓存区中存储相同的顶点,从而节约存储资源的目的。
实际上,除了考虑到顶点的重复外,在图形绘制过程中,还可能存在“不可见面”,这些不可见面在观察者角度而言,不能被观察到,如此便没有必要进行绘制,因而上述装置实施例还可以增加第二判断单元U55,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有不可见的面,则删除所述不可见的面对应的顶点数据,或者当图形绘制被触发时,不对所述不可见的面对应的顶点数据进行渲染。在具体删除不可见面对应的顶点数据时,可以将顶点缓存区中由至少三个顶点构成的存储于顶点缓存区中最末尾的面的顶点数据,覆盖所述不可见的面对应的顶点数据。与此道理类似,如果在判断判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系之后,发现有被光线影响产生阴影的面,可以对所述被光线影响产生阴影的面对应顶点的顶点色数据进行调整使其变暗。为和前面的判断单元相互区别,可以将其设定为第三判断单元U56,当然,由同一个单元来实现判断,只不过针对不同的结果有不同的处理走向,也是可行的。
上述的改进方向的技术效果可以参照前述方法实施例的内容,因而并非不能取得相应的技术效果,仅仅是出于避免重复的考虑。进一步地,实际上上述装置实施例还可以按照方法实施例的内容进行其它方面的改进,本领域技术人员应当是知晓的,也不再予以赘言。
从实施的角度,除了上述重点描述的方法实施例,以及对应的装置实施例,本申请的发明创造还可以体现为计算机可读介质和在用户设备端的信息处理设备,当表现为计算机可读介质时,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行前述方法实施例的方法步骤。当表现为用户设备端的信息处理设备时,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行前述方法实施例的方法步骤。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤执行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一实施例”并不一定均指同一个实施例。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种图形绘制方法,其特征在于,包括:
确定至少一个顶点缓存区;
将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内,所述顶点数据包括构成所述元素的顶点的位置坐标信息;
当图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。
2.根据权利要求1所述的方法,其特征在于,所述目标图形中的元素包括至少两个元素,所述至少两个元素包括本次绘制之前已绘制过的至少一个元素和本次绘制新加入的至少一个元素。
3.根据权利要求2所述的方法,其特征在于,
当本次绘制有新加入元素时,判断所述新加入的元素的各个顶点数据是否已存储在所述顶点缓存区中;如果是,则记录所述新加入元素中顶点数据已存储在所述顶点缓存区的顶点在所述顶点缓存区的位置,不将该顶点的顶点数据缓存到所述顶点缓存区。
4.根据权利要求2所述的方法,其特征在于,
当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有不可见的面,则删除所述不可见的面对应的顶点数据,或者当图形绘制被触发时,不对所述不可见的面对应的顶点数据进行渲染。
5.根据权利要求4所述的方法,其特征在于,所述删除所述不可见的面对应的顶点数据,具体包括:
将所述顶点缓存区中由至少三个顶点构成的存储于顶点缓存区中最末尾的面的顶点数据,覆盖所述不可见的面对应的顶点数据。
6.根据权利要求2所述的方法,其特征在于,所述顶点数据包括顶点色数据;
当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有被光线影响产生阴影的面,则对所述被光线影响产生阴影的面对应顶点的顶点色数据进行调整使其变暗。
7.根据权利要求1所述的方法,其特征在于,当需要删除目标图形中的元素时,将所述顶点缓存区中存储于最末尾的元素的各个顶点数据,覆盖所述需要删除的目标图形中元素对应的各个顶点数据。
8.根据权利要求1至7中任何一项所述的方法,其特征在于,所述方法还包括:确定至少一个顶点索引区,所述顶点索引区用于存储所述元素的顶点数据在所述顶点缓存区中的位置;
所述对所述顶点缓存区内缓存的多个顶点数据进行一次新渲染,具体包括:
确定目标图形中元素的各个顶点在顶点索引区中的数值;
根据所述顶点索引区中的数值从顶点缓存区中确定目标图形中元素相应的顶点数据;
对所述目标图形中元素相应的顶点数据进行一次性渲染。
9.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至8中任一项所述的方法。
10.一种用于在用户设备端进行信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行权利要求1至8中任一项所述的方法。
11.一种图形绘制装置,其特征在于,包括:
顶点缓存区,用于缓存图形中元素的顶点数据,所述顶点数据包括构成所述元素的顶点的位置坐标信息;;
缓存单元,用于将待绘制的目标图形中的元素的各个顶点数据缓存到所述顶点缓存区内;
渲染单元,用于在图形绘制被触发时,对所述顶点缓存区内缓存的多个顶点数据进行一次性渲染,以完成目标图形的绘制。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括第一判断单元,用于当本次绘制有新加入元素时,判断所述新加入的元素的各个顶点数据是否已存储在所述顶点缓存区中;如果是,则记录所述新加入元素中顶点数据已存储在所述顶点缓存区的顶点在所述顶点缓存区的位置,不将该顶点的顶点数据缓存到所述顶点缓存区。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括第二判断单元,用于当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有不可见的面,则删除所述不可见的面对应的顶点数据,或者当图形绘制被触发时,不对所述不可见的面对应的顶点数据进行渲染。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括第三判断单元,用于当本次绘制有新加入元素时,判断所述新加入元素中至少三个顶点构成的面与该新加入元素的邻居元素中至少三个顶点构成的面之间的关系;如果有被光线影响产生阴影的面,则对所述被光线影响产生阴影的面对应顶点的顶点色数据进行调整使其变暗。
CN201910131742.0A 2019-02-22 2019-02-22 一种图形绘制方法、装置及计算机可读介质、设备 Pending CN109919827A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910131742.0A CN109919827A (zh) 2019-02-22 2019-02-22 一种图形绘制方法、装置及计算机可读介质、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910131742.0A CN109919827A (zh) 2019-02-22 2019-02-22 一种图形绘制方法、装置及计算机可读介质、设备

Publications (1)

Publication Number Publication Date
CN109919827A true CN109919827A (zh) 2019-06-21

Family

ID=66962104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910131742.0A Pending CN109919827A (zh) 2019-02-22 2019-02-22 一种图形绘制方法、装置及计算机可读介质、设备

Country Status (1)

Country Link
CN (1) CN109919827A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737433A (zh) * 2019-10-16 2020-01-31 李富科 一种c语言程序的图形显示方法及装置
CN110784773A (zh) * 2019-11-26 2020-02-11 北京奇艺世纪科技有限公司 弹幕生成方法、装置、电子设备及存储介质
CN111080505A (zh) * 2019-12-27 2020-04-28 西安芯瞳半导体技术有限公司 一种提高图元装配效率的方法、装置及计算机存储介质
CN111506261A (zh) * 2020-03-24 2020-08-07 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN111968210A (zh) * 2020-08-17 2020-11-20 北京像素软件科技股份有限公司 物体简化模型创建、显示方法、装置、设备及存储介质
CN112866609A (zh) * 2019-11-28 2021-05-28 西安诺瓦星云科技股份有限公司 视频处理设备
CN113538624A (zh) * 2021-07-23 2021-10-22 北京光启元数字科技有限公司 一种扇环形页面元素的圆角绘制方法、装置、设备和介质
CN113643191A (zh) * 2020-04-27 2021-11-12 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备
CN113674296A (zh) * 2021-09-03 2021-11-19 广东三维家信息科技有限公司 一种区域切割方法、装置、电子设备及存储介质
CN115880133A (zh) * 2023-01-31 2023-03-31 南京砺算科技有限公司 图形处理单元及终端设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100164983A1 (en) * 2008-12-29 2010-07-01 Microsoft Corporation Leveraging graphics processors to optimize rendering 2-d objects
CN106504185A (zh) * 2016-10-26 2017-03-15 腾讯科技(深圳)有限公司 一种渲染优化方法和装置
CN108196835A (zh) * 2018-01-29 2018-06-22 东北大学 一种游戏引擎中图元存储和渲染的方法
CN109214976A (zh) * 2017-07-06 2019-01-15 Arm有限公司 图形处理

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100164983A1 (en) * 2008-12-29 2010-07-01 Microsoft Corporation Leveraging graphics processors to optimize rendering 2-d objects
CN106504185A (zh) * 2016-10-26 2017-03-15 腾讯科技(深圳)有限公司 一种渲染优化方法和装置
CN109214976A (zh) * 2017-07-06 2019-01-15 Arm有限公司 图形处理
CN108196835A (zh) * 2018-01-29 2018-06-22 东北大学 一种游戏引擎中图元存储和渲染的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737433A (zh) * 2019-10-16 2020-01-31 李富科 一种c语言程序的图形显示方法及装置
CN110737433B (zh) * 2019-10-16 2023-04-25 李富科 一种c语言程序的图形显示方法及装置
CN110784773A (zh) * 2019-11-26 2020-02-11 北京奇艺世纪科技有限公司 弹幕生成方法、装置、电子设备及存储介质
CN112866609A (zh) * 2019-11-28 2021-05-28 西安诺瓦星云科技股份有限公司 视频处理设备
CN111080505A (zh) * 2019-12-27 2020-04-28 西安芯瞳半导体技术有限公司 一种提高图元装配效率的方法、装置及计算机存储介质
CN111080505B (zh) * 2019-12-27 2024-04-12 芯瞳半导体技术(山东)有限公司 一种提高图元装配效率的方法、装置及计算机存储介质
CN111506261A (zh) * 2020-03-24 2020-08-07 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN111506261B (zh) * 2020-03-24 2024-05-03 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN113643191B (zh) * 2020-04-27 2023-08-15 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备
CN113643191A (zh) * 2020-04-27 2021-11-12 北京蓝亚盒子科技有限公司 用于体素模型的平滑方法、装置及电子设备
CN111968210A (zh) * 2020-08-17 2020-11-20 北京像素软件科技股份有限公司 物体简化模型创建、显示方法、装置、设备及存储介质
CN113538624A (zh) * 2021-07-23 2021-10-22 北京光启元数字科技有限公司 一种扇环形页面元素的圆角绘制方法、装置、设备和介质
CN113538624B (zh) * 2021-07-23 2024-06-11 腾讯云计算(北京)有限责任公司 一种扇环形页面元素的圆角绘制方法、装置、设备和介质
CN113674296A (zh) * 2021-09-03 2021-11-19 广东三维家信息科技有限公司 一种区域切割方法、装置、电子设备及存储介质
CN115880133A (zh) * 2023-01-31 2023-03-31 南京砺算科技有限公司 图形处理单元及终端设备

Similar Documents

Publication Publication Date Title
CN109919827A (zh) 一种图形绘制方法、装置及计算机可读介质、设备
US11682158B2 (en) Foveated rendering
CN105809728B (zh) 在图形处理单元中渲染场景的视图
Capin et al. The state of the art in mobile graphics research
CN108573524B (zh) 基于渲染管线的交互式实时自由立体显示方法
CN104952033B (zh) 分布式图形处理器分级中的系统一致性
US8817023B2 (en) Method, medium, and system rendering 3D graphic objects with selective object extraction or culling
CN106204712B (zh) 分段线性不规则光栅化
CN108351864A (zh) 成凹几何密铺
US20150123993A1 (en) Image processing device and image processing method
KR20220083839A (ko) 가상 장면을 표시하는 방법 및 장치, 그리고 기기 및 저장 매체
KR102197067B1 (ko) 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치
WO2017202294A1 (zh) 图片动态展示方法、电子设备和存储介质
CN106502662B (zh) 用于智能操作系统的多区域图形绘制方法及装置
CA2762571A1 (en) Creation of a playable scene with an authoring system
JP5713855B2 (ja) 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造
JP2013069173A (ja) 画像処理装置、画像処理方法、および画像ファイルのデータ構造
CN111080505A (zh) 一种提高图元装配效率的方法、装置及计算机存储介质
CN115937380A (zh) 图形渲染方法、装置及存储介质
CN111161391B (zh) 一种生成追踪路径的方法、装置及计算机存储介质
Liu et al. Stereo-based bokeh effects for photography
CN107277483A (zh) 一种虚拟现实显示方法、装置及虚拟现实眼镜
CN110599391A (zh) 一种图形绘制方法、装置及计算机可读介质、设备
CN109874044A (zh) 一种数据预存方法、系统、设备及计算机可读介质
CN109829974B (zh) 一种智能眼镜的三维图形自适应显示方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 100094 1301, building 4, area 4, courtyard 81, Beiqing Road, Haidian District, Beijing

Applicant after: Beijing LANYA Box Technology Co.,Ltd.

Address before: 100097 Room 303, 3rd floor, building 1, No. 25, lantianchang South Road, Haidian District, Beijing

Applicant before: Soyou network technology (Beijing) Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination