CN113421321B - 用于动画的渲染方法、装置、电子设备及介质 - Google Patents
用于动画的渲染方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN113421321B CN113421321B CN202110776904.3A CN202110776904A CN113421321B CN 113421321 B CN113421321 B CN 113421321B CN 202110776904 A CN202110776904 A CN 202110776904A CN 113421321 B CN113421321 B CN 113421321B
- Authority
- CN
- China
- Prior art keywords
- pictures
- rendering
- picture
- storage module
- mode
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 145
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及用于动画的渲染方法、装置、电子设备及介质。根据本公开的用于动画的渲染方法包括:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,第二图片集合在时序上位于第一图片集合之后;以及响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
Description
技术领域
本公开涉及动画渲染技术,更具体地,涉及一种用于动画的渲染方法、装置、电子设备及介质。
背景技术
序列帧动画是一种常见的动画形式,其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。序列帧动画具有较大的灵活性,可以使用任意分辨率和任意的比例的图片,并且很能够实现细腻的动画效果,例如,人物或动物急剧转身、头发及衣服的飘动和3D效果等等。
但是,由于序列帧动画需要按时序加载每一帧图片,加载动画的图片的所需要的时间较长,且图片被加载后所占用的存储空间也较大。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一方面,提供一种用于动画的渲染方法,动画为包括多张按时序排列的图片的序列帧动画,渲染方法包括:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,第二图片集合在时序上位于第一图片集合之后;以及响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
根据本公开的另一方面,提供了一种用于动画的渲染装置,动画为包括多张按时序排列的图片的序列帧动画,渲染装置包括:第一图片渲染模块,被配置为:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;第一读取控制模块,被配置为:在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,第二图片集合在时序上位于第一图片集合之后;以及第二图片渲染模块,被配置为:响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
根据本公开的又一方面,提供一种电子设备,该电子设备包括:存储器、处理器以及存储在该存储器上的计算机程序,其中,该处理器被配置为执行所述计算机程序以实现如本公开中所述的方法的步骤。
根据本公开的又一方面,提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如本公开中所述的方法的步骤。
根据本公开的又一方面,提供一种计算机程序产品,包括计算机程序,其中,该计算机程序被处理器执行时实现如本公开中所述的方法的步骤。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开实施例的可以在其中实施本文描述的各种方法的示例性设备的示意图;
图2示出了根据本公开实施例的序列帧动画的示意图;
图3示出了根据本公开实施例的用于动画的渲染方法的流程图;
图4示出了根据本公开的实施例的在图3的过程中将第二存储模块设置为处于渲染模式并且渲染第二图片集合的示例操作的流程图;
图5示出了根据本公开实施例的用于动画的渲染方法的流程图;
图6示出了根据本公开实施例的用于动画的渲染装置的示意图;
图7示出了根据本公开的示例性实施例的用于动画的渲染的电子设备的示意性框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在对序列帧动画进行渲染时,需要将存储在计算机硬盘中的序列帧动画的图片加载到显卡内存中,以供显卡中的图像处理器(Graphics processing unit,GPU)进行渲染。
目前,序列帧动画通常使用便携式网络图形(Portable Network Graphics,PNG)或标记的图形(Tagged Graphics,TGA)格式的图片,但是,在将PNG或TGA格式的图片加载到显卡内存中时,需要将这些格式的图片的数据还原为像素数据,然后再将相应的像素数据传递到显卡内存。这个过程相当于对图片进行了“解压缩”,耗时较长。
此外,由于将PNG或TGA格式的图片加载显卡内存的过程耗时较长,无法实时加载图片,通常将动画的全部图片一次性加载到显卡内存中。但是,动画的全部图片往往占用较大的存储空间。由于显卡内存的存储空间大小较为有限(例如,16G),当图片的分辨率较高(例如,4K)时,将无法将动画的全部图片一次性加载到显卡内存中,从而导致画面出现卡顿。
为了解决上述问题,本公开提供了一种用于序列帧动画的渲染方法,实现了图片的实时加载,并降低了对显卡内存的存储空间大小的要求。
图1示出了根据本公开实施例的可以在其中实施本文描述的各种方法的示例性设备100的示意图。如图1所示,设备100包括主板110、显卡120和显示器130。
根据一些实施例,主板110包括中央处理器(Central processing unit,CPU)111、主板内存112、硬盘113。其中,CPU 111将需要处理的数据从硬盘113中读取到主板内存112中,并且将CPU 111的处理结果存储在在主板内存112或硬盘113中。
根据一些实施例,显卡120包括GPU 121和显卡内存122,其中,GPU 121接收来自CPU 111的指令,以对存储在显卡内存122中的数据进行处理(例如,图像渲染)或控制显卡内存122读取来自主板110的数据(例如,读取来自主板110中的硬盘113中的数据),并且将处理后的数据存储在显卡内存122中。
根据一些实施例,显示器130接收来自显卡内存122的图像数据,以将图像显示在显示器130上。
根据本公开的示例性实施例,提供了一种用于动画的渲染方法,动画为包括多张按时序排列的图片的序列帧动画,渲染方法包括:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,第二图片集合在时序上位于第一图片集合之后;以及响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
图2示出了根据本公开实施例的序列帧动画200的示意图。
如图2所示,序列帧动画200包括多张按时序排列的图片。根据一些实施例,在渲染序列帧动画200时,按照时序,逐张渲染序列帧动画的图片,以实现动画效果。
根据一些实施例,序列帧动画200的图片被划分为多个图片集合,其中,每个图片集合包括多张时序上连续的图片。如图2所示,序列帧动画200的多张图片被划分为集合1、集合2、集合3、集合4和集合5,其中,集合1包括图片1-1、1-2、1-3、1-4、1-5和1-6,集合2包括图片2-1、2-2、2-3、2-4、2-5和2-6,集合3包括图片3-1、3-3、3-3、3-4、3-5和3-6,集合4包括图片4-1、4-4、4-3、4-4、4-5和4-6,集合5包括图片5-1、5-5、5-5、5-4、5-5和5-6。
图3示出了根据本公开实施例的用于动画的渲染方法300的流程图。根据一些实施例,动画为包括多张按时序排列的图片的序列帧动画。
在步骤S301中,渲染存储在处于渲染模式的第一存储模块中的第一图片集合,并且,在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合。其中,第二图片集合在时序上位于第一图片集合之后。
根据一些实施例,将动画的图片划分为多个图片集合,其中,每个图片集合包含多个在时序上连续的图片。根据一些实施例,可以在进行渲染前,将动画的图片划分为多个图片集合。
根据一些实施例,可以根据显卡内存的容量和每张图片所占的存储空间,计算每个图片集合中的图片的数量,例如,使得每个图片集合中的全部图片所占的存储空间小于显卡内存的10%。
根据一些实施例,在开始渲染存储在处于渲染模式的第一存储模块中的第一图片集合时,控制处于读取模式的第二存储模块开始从外部存储装置中读取第二图片集合。根据另一些实施例,响应于开始渲染存储在处于渲染模式的第一存储模块中的第一图片集合时,控制处于读取模式的第二存储模块开始从外部存储装置中读取第二图片集合。
根据一些实施例,第二存储模块从外部存储装置中读取第二图片集合所需的时间比渲染存储在第一存储模块中的第一图片集合所需的时间更短。在这种情况下,在进行对第二图片集合的加载时,同步进行对第一图片集合的渲染和对第二图片集合的加载;在完成对第二图片集合的加载时,不再进行加载操作,而仅进行对第一图片集合中的尚未渲染的图片的渲染。
根据一些实施例,外部存储装置可以是如图1所描述的主板内存112或硬盘113。
在步骤S303中,响应于完成对第一图片集合的渲染,将处于读取模式的第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
由于在渲染第一图片集合时,就已经加载了即将渲染的第二图片集合,因此,在渲染第一图片集合后,即可开始对第二图片集合的渲染,从而可以连续地渲染动画。
根据本公开的示例性实施例,由于每次只需加载动画的一部分图片,缩短了加载图片的延时,并减少了加载动画图片所需的存储空间。
根据一些实施例,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合包括:响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式;响应于第二图片集合不是动画的图片中的时序最晚的图片集合:将第一存储模块设置为处于读取模式,并且渲染第二图片集合;并且在渲染第二图片集合的期间,控制第一存储模块从外部存储装置中读取第三图片集合,其中,第三图片集合在时序上位于第二图片集合之后,并且响应于第二图片集合是动画的图片中的时序最晚的图片集合,渲染第二图片集合。
图4示出了根据本公开的实施例的在图3的过程中将第二存储模块设置为处于渲染模式并且渲染第二图片集合(步骤S303)的示例操作的流程图。
在步骤S401处,响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式。
在步骤S403处,判断第二图片集合是否为动画的图片中的时序最晚的图片集合(例如,图2中的集合5)。如果判断为“是”,则进行到步骤S407,如果判断为“否”,则进行到步骤S405。
在步骤S405处,将第一存储模块设置为处于读取模式,并且,在渲染第二图片集合的期间,控制第一存储模块从外部存储装置中读取第三图片集合。
根据一些实施例,与参考步骤S301描述的类似,在开始渲染存储在处于渲染模式的第二存储模块中的第二图片集合时,控制处于读取模式的第一存储模块开始从外部存储装置中读取第三图片集合。根据另一些实施例,响应于开始渲染存储在处于渲染模式的第二存储模块中的第二图片集合时,控制处于读取模式的第一存储模块开始从外部存储装置中读取第三图片集合。
在步骤S407处,渲染第二图片集合。
根据一些实施例,如果第二图片集合是动画的图片中的时序最晚的图片集合,在完成对第二图片集合的渲染后,结束对动画的渲染。根据一些实施例,在结束对动画的渲染后,释放第一存储模块和第二存储模块所对应的存储空间。
根据一些实施例,渲染存储在处于渲染模式的第一存储模块中的第一图片集合包括:按照第一图片集合中的图片的时序,逐张渲染第一图片集合中的图片,其中,对于第一图片集合中的每张图片,响应于完成对该张图片的渲染,释放第一存储模块的对应于该张图片的存储空间。
如上所述,由于在完成每张图片的渲染后就释放存储模块的对应于该张图片的存储空间,降低了对显卡内存的存储空间的需求。
根据一些实施例,控制第一存储模块从外部存储装置中读取第三图片集合包括:向第一存储模块分配对应于第三图片集合的存储空间;以及按照第三图片集合中的图片的时序,控制第一存储模块从外部存储装置中逐张读取第三图片集合中的图片。
根据另一些实施例,在完成对每张图片的渲染后并不释放存储模块的对应于该张图片的存储空间,而是在完成对该存储模块中的所有图片的渲染后,直接回收该存储模块的存储空间,用于继续从外部存储装置中读取图片。
根据一些实施例,如本公开所述的渲染方法还包括:在开始渲染动画时,将第一存储模块设置为处于读取模式,并且,控制处于读取模式的第一存储模块读取动画的图片中的时序最早的图片集合;以及,响应于第一存储模块完成读取动画的图片中的时序最早的图片集合,将处于读取模式的第一存储模块设置为处于渲染模式,并且将第二存储模块设置为处于读取模式。
图5示出了根据本公开实施例的用于动画的渲染方法500的流程图。
在步骤S501处,在开始渲染动画时,将第一存储模块设置为处于读取模式,并且,控制处于读取模式的第一存储模块读取动画的图片中的时序最早的图片集合(例如,图2中的集合1)。
在步骤S503处,响应于第一存储模块完成读取动画的图片中的时序最早的图片集合,将处于读取模式的第一存储模块设置为处于渲染模式,并且将第二存储模块设置为处于读取模式。
在步骤S505处,渲染存储在处于渲染模式的第一存储模块中的第一图片集合,并且,在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合。根据一些实施例,步骤S505例如可以被实施为与图3中的步骤S301类似。
在步骤S507处,响应于完成对第一图片集合的渲染,将处于读取模式的第二存储模块设置为处于渲染模式,并且渲染第二图片集合。根据一些实施例,步骤S507例如可以被实施为与图3中的步骤S303类似。
根据一些实施例,动画的图片为直接写屏表面(DirectDraw Surface,DDS)格式的图片。由于DDS格式的图片不需要被还原为能被GPU所识别的像素格式,因此,使用DDS格式的图片提高了图片加载速度。
例如,将同一分辨率的PNG格式和DDS格式的图片进行加载时间对比。其中,当加载50张HD(分辨率1920×1080)的图片时,加载PNG格式的图片耗时1.843秒,而加载DDS格式的图片的时间为0.135秒;当加载50张4K(分辨率为3840×2160)的图片时,加载PNG格式的图片耗时5.98秒,而加载DDS格式的图片的时间为0.466秒。
根据一些实施例,可以在进行动画渲染前,将动画的属于其他格式(即,非DDS格式)的图片转换为DDS格式的图片。根据一些实施例,由于DDS图片不能方便的预览,可以在将其他格式的图片转换为DDS格式的图片时,也将这些其他格式的图片压缩为更小分辨率的相同格式的图片(例如,将PNG格式的图片压缩为分辨率更低的PNG格式的图片),以方便进行对动画的编辑和预览。
图6示出了根据本公开实施例的用于动画的渲染装置600的示意图。
如图6所示,渲染装置600用于渲染动画,动画为包括多张按时序排列的图片的序列帧动画。渲染装置600包括:第一图片渲染模块601、第一读取控制模块602和第二图片渲染模块603。其中,第一图片渲染模块601被配置为:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;第一读取控制模块602被配置为:在渲染第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,第二图片集合在时序上位于第一图片集合之后;以及第二图片渲染模块603被配置为:响应于完成对第一图片集合的渲染,将第二存储模块设置为处于渲染模式,并且渲染第二图片集合。
应当理解,图6中所示装置600的各个模块可以与参考图3描述的方法300中的各个步骤相对应。由此,上面针对方法300描述的操作、特征和优点同样适用于装置600及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
根据一些实施例,渲染装置还包括:图片预读取模块,被配置为:在开始渲染动画时,将第一存储模块设置为处于读取模式,并且,控制处于读取模式的第一存储模块读取动画的图片中的时序最早的图片集合;以及响应于第一存储模块完成读取动画的图片中的时序最早的图片集合,将处于读取模式的第一存储模块设置为处于渲染模式,并且将第二存储模块设置为处于读取模式。
根据一些实施例,图片为直接写屏表面格式的图片。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,第一图片渲染模块601、第一读取控制模块602和第二图片渲染模块603中的一个或多个可以一起被实现在片上***(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CentralProcessing Unit, CPU)、微控制器、微处理器、数字信号处理器(Digital SignalProcessor, DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
在本公开的示例性实施例中,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开所述的方法。
在本公开的示例性实施例中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开所述的方法。
在本公开的示例性实施例中,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现如本公开所述的方法。
下面结合图7来描述这样的电子设备和计算机可读存储介质的示例。图7示出了根据本公开的示例性实施例的用于动画的渲染的电子设备700的示意性框图。
电子设备700可以是各种不同类型的设备,例如服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上***、和/或任何其它合适的电子设备或计算***。电子设备700的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑或者phablet设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等等。因此,电子设备700的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏控制台)。
电子设备700可以包括能够诸如通过***总线714或其他适当的连接彼此通信的至少一个处理器702、存储器704、(多个)通信接口706、显示设备708、其他输入/输出(I/O)设备710以及一个或更多大容量存储装置712。
处理器702可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器702可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器702可以被配置成获取并且执行存储在存储器704、大容量存储装置712或者其他计算机可读介质中的计算机可读指令,诸如操作***716的程序代码、应用程序718的程序代码、其他程序720的程序代码等。
存储器704和大容量存储装置712是用于存储指令的计算机存储介质的示例,所述指令由处理器702执行来实施前面所描述的各种功能。举例来说,存储器704一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储装置712一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器704和大容量存储装置712在本文中都可以被统称为存储器或计算机存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非瞬时性介质,所述计算机程序代码可以由处理器702作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储装置712上。这些程序包括操作***716、一个或多个应用程序718、其他程序720和程序数据722,并且它们可以被加载到存储器704以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下组件/功能的计算机程序逻辑(例如,计算机程序代码或指令):方法300和/或方法500(包括方法300或500的任何适合的步骤)和/或本文描述的另外的实施例。
虽然在图7中被图示成存储在电子设备700的存储器704中,但是模块716、718、720和722或者其部分可以使用可由电子设备700访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,所述信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供电子设备访问的任何其他非传送介质。
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
电子设备700还可以包括一个或更多通信接口706,以用于诸如通过网络、直接连接等等与其他设备交换数据,正如前面所讨论的那样。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。通信接口706可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口706还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备708,以用于向用户显示信息和图像。其他I/O设备710可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
虽然在附图和和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,并且术语“多个”是指两个或两个以上。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、***和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (11)
1.一种用于动画的渲染方法,所述动画为包括多张按时序排列的图片的序列帧动画,所述渲染方法包括:
渲染存储在处于渲染模式的第一存储模块中的第一图片集合;
在渲染所述第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,所述第二图片集合在时序上位于所述第一图片集合之后;以及
响应于完成对所述第一图片集合的渲染,将所述第二存储模块设置为处于所述渲染模式,并且渲染所述第二图片集合,包括:
响应于完成对所述第一图片集合的渲染,将所述第二存储模块设置为处于所述渲染模式;
响应于所述第二图片集合不是所述动画的图片中的时序最晚的图片集合:
将所述第一存储模块设置为处于所述读取模式,并且渲染所述第二图片集合;并且
在渲染所述第二图片集合的期间,控制所述第一存储模块从所述外部存储装置中读取第三图片集合,其中,所述第三图片集合在时序上位于所述第二图片集合之后,并且
响应于所述第二图片集合是所述动画的图片中的时序最晚的图片集合,渲染所述第二图片集合。
2.如权利要求1所述的渲染方法,其中,所述渲染存储在处于渲染模式的第一存储模块中的第一图片集合包括:
按照所述第一图片集合中的图片的时序,逐张渲染所述第一图片集合中的图片,
其中,对于所述第一图片集合中的每张图片,响应于完成对该张图片的渲染,释放所述第一存储模块的对应于该张图片的存储空间。
3.如权利要求2所述的渲染方法,其中,所述控制所述第一存储模块从外部存储装置中读取第三图片集合包括:
向所述第一存储模块分配对应于所述第三图片集合的存储空间;以及
按照所述第三图片集合中的图片的时序,控制所述第一存储模块从所述外部存储装置中逐张读取所述第三图片集合中的图片。
4.如权利要求1-3中任一项所述的渲染方法,还包括:
在开始渲染所述动画时,将所述第一存储模块设置为处于所述读取模式,并且,控制处于所述读取模式的所述第一存储模块读取所述动画的图片中的时序最早的图片集合;以及
响应于所述第一存储模块完成读取所述动画的图片中的时序最早的图片集合,将处于所述读取模式的所述第一存储模块设置为处于所述渲染模式,并且将所述第二存储模块设置为处于所述读取模式。
5.如权利要求1-3中任一项所述的渲染方法,其中,所述动画的图片为直接写屏表面格式的图片。
6.一种用于动画的渲染装置,所述动画为包括多张按时序排列的图片的序列帧动画,所述渲染装置包括:
第一图片渲染模块,被配置为:渲染存储在处于渲染模式的第一存储模块中的第一图片集合;
第一读取控制模块,被配置为:在渲染所述第一图片集合的期间,控制处于读取模式的第二存储模块从外部存储装置中读取第二图片集合,其中,所述第二图片集合在时序上位于所述第一图片集合之后;以及
第二图片渲染模块,被配置为:响应于完成对所述第一图片集合的渲染,将所述第二存储模块设置为处于所述渲染模式,并且渲染所述第二图片集合,包括响应于完成对所述第一图片集合的渲染,将所述第二存储模块设置为处于所述渲染模式;响应于所述第二图片集合不是所述动画的图片中的时序最晚的图片集合:将所述第一存储模块设置为处于所述读取模式,并且渲染所述第二图片集合;并且在渲染所述第二图片集合的期间,控制所述第一存储模块从所述外部存储装置中读取第三图片集合,其中,所述第三图片集合在时序上位于所述第二图片集合之后,并且响应于所述第二图片集合是所述动画的图片中的时序最晚的图片集合,渲染所述第二图片集合。
7.如权利要求6所述的渲染装置,还包括:
图片预读取模块,被配置为:
在开始渲染所述动画时,将所述第一存储模块设置为处于所述读取模式,并且,控制处于所述读取模式的所述第一存储模块读取所述动画的图片中的时序最早的图片集合;以及
响应于所述第一存储模块完成读取所述动画的图片中的时序最早的图片集合,将处于所述读取模式的所述第一存储模块设置为处于所述渲染模式,并且将所述第二存储模块设置为处于所述读取模式。
8.如权利要求6-7中任一项所述的渲染装置,其中,所述图片为直接写屏表面格式的图片。
9.一种电子设备,包括:
存储器、处理器以及存储在所述存储器上的计算机程序,
其中,所述处理器被配置为执行所述计算机程序以实现权利要求1-5中任一项所述的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110776904.3A CN113421321B (zh) | 2021-07-09 | 2021-07-09 | 用于动画的渲染方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110776904.3A CN113421321B (zh) | 2021-07-09 | 2021-07-09 | 用于动画的渲染方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113421321A CN113421321A (zh) | 2021-09-21 |
CN113421321B true CN113421321B (zh) | 2024-03-19 |
Family
ID=77720581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110776904.3A Active CN113421321B (zh) | 2021-07-09 | 2021-07-09 | 用于动画的渲染方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113421321B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027086B1 (en) * | 1999-04-15 | 2006-04-11 | Sony Corporation | Photographing apparatus and signal processing method that allow data of still pictures to be converted into a moving picture file |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
CN108122266A (zh) * | 2017-12-20 | 2018-06-05 | 成都卓杭网络科技股份有限公司 | 一种缓存骨骼动画渲染纹理的方法、装置和存储介质 |
CN111476876A (zh) * | 2020-04-02 | 2020-07-31 | 北京七维视觉传媒科技有限公司 | 一种三维影像渲染方法、装置、设备及可读存储介质 |
CN112235604A (zh) * | 2020-10-20 | 2021-01-15 | 广州博冠信息科技有限公司 | 渲染方法及装置、计算机可读存储介质、电子设备 |
CN112348929A (zh) * | 2020-11-26 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 帧动画的渲染方法、装置、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8766984B2 (en) * | 2010-08-20 | 2014-07-01 | Qualcomm Incorporated | Graphics rendering methods for satisfying minimum frame rate requirements |
US9697579B2 (en) * | 2013-06-07 | 2017-07-04 | Apple Inc. | Multi-processor graphics rendering |
US20170243322A1 (en) * | 2016-02-19 | 2017-08-24 | Remi Sigrist | Multiple frame buffering for graphics processing |
-
2021
- 2021-07-09 CN CN202110776904.3A patent/CN113421321B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027086B1 (en) * | 1999-04-15 | 2006-04-11 | Sony Corporation | Photographing apparatus and signal processing method that allow data of still pictures to be converted into a moving picture file |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
CN108122266A (zh) * | 2017-12-20 | 2018-06-05 | 成都卓杭网络科技股份有限公司 | 一种缓存骨骼动画渲染纹理的方法、装置和存储介质 |
CN111476876A (zh) * | 2020-04-02 | 2020-07-31 | 北京七维视觉传媒科技有限公司 | 一种三维影像渲染方法、装置、设备及可读存储介质 |
CN112235604A (zh) * | 2020-10-20 | 2021-01-15 | 广州博冠信息科技有限公司 | 渲染方法及装置、计算机可读存储介质、电子设备 |
CN112348929A (zh) * | 2020-11-26 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 帧动画的渲染方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
王华伟 ; 史天运 ; 蒋荟 ; .铁路运输设备技术状态大数据平台构建方法研究.中国铁路.2018,(第02期), 43-49. * |
铁路运输设备技术状态大数据平台构建方法研究;王华伟;史天运;蒋荟;;中国铁路(第02期);43-49 * |
Also Published As
Publication number | Publication date |
---|---|
CN113421321A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6249419B2 (ja) | ユーザー介入なくレイアウトに従った画像識別及び編成 | |
US10600140B2 (en) | Method for selecting a display capturing mode | |
CN112004086A (zh) | 视频数据处理方法及装置 | |
CN110070496B (zh) | 图像特效的生成方法、装置和硬件装置 | |
EP3311565B1 (en) | Low latency application streaming using temporal frame transformation | |
WO2021169236A1 (zh) | 渲染的方法、装置 | |
JP6882992B2 (ja) | 動画像をプレビューする方法及びデバイス、並びに表現パッケージを表示する方法及びデバイス | |
CN108696766B (zh) | 弹幕显示方法、装置和计算机可读存储介质 | |
US10356359B2 (en) | Information processing apparatus, method for controlling the information processing apparatus, and recording medium | |
US9984651B2 (en) | Method and apparatus for displaying composition screen image by composing screen images of operating systems (OSs) | |
CN112433689B (zh) | 用于同屏器的数据传输方法、装置、同屏器及介质 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN112866613A (zh) | 电子装置及其控制方法 | |
CN113286174B (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN113421321B (zh) | 用于动画的渲染方法、装置、电子设备及介质 | |
CN113094015A (zh) | 全息多屏显示实现方法、***、计算机设备和存储介质 | |
WO2018022303A1 (en) | Capturing commands in a multi-engine graphics processing unit | |
CN115501588A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
JP7473674B2 (ja) | 特殊効果処理方法及び装置 | |
CN110045929B (zh) | 一种挂载点管理方法及相关装置 | |
CN111984278A (zh) | 动画图像的获取方法及装置 | |
CN114820276B (zh) | 用于图形处理的芯片、图形数据的处理方法、电子设备 | |
CN111880876B (zh) | 对象处理方法及相关装置 | |
CN114153539B (zh) | 前端应用界面生成方法、装置、电子设备和存储介质 | |
CN112468829B (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 |