CN114882149A - 动画渲染方法、装置、电子设备和存储介质 - Google Patents

动画渲染方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114882149A
CN114882149A CN202210342235.3A CN202210342235A CN114882149A CN 114882149 A CN114882149 A CN 114882149A CN 202210342235 A CN202210342235 A CN 202210342235A CN 114882149 A CN114882149 A CN 114882149A
Authority
CN
China
Prior art keywords
channel
data
animation
information
vertex
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
CN202210342235.3A
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.)
Beijing ELEX Technology Co Ltd
Original Assignee
Beijing ELEX 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 ELEX Technology Co Ltd filed Critical Beijing ELEX Technology Co Ltd
Priority to CN202210342235.3A priority Critical patent/CN114882149A/zh
Publication of CN114882149A publication Critical patent/CN114882149A/zh
Priority to US17/945,996 priority patent/US20230316624A1/en
Priority to EP22197372.0A priority patent/EP4254341A3/en
Priority to KR1020220122708A priority patent/KR20230141408A/ko
Priority to JP2022157691A priority patent/JP7490029B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例提供一种动画渲染方法、装置、电子设备和存储介质,涉及动画技术领域,能够提高通过纹理存储动画数据的效率。一种动画渲染方法,包括:在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,法线信息占用R通道的另一部分位置、G通道的另一部分位置、B通道的另一部分位置和A通道的位置;根据顶点位置信息和法线信息进行动画渲染。

Description

动画渲染方法、装置、电子设备和存储介质
技术领域
本申请涉及动画技术领域,特别涉及一种动画渲染方法、装置、电子设备和存储介质。
背景技术
随着游戏的发展,游戏内对象的渲染数量越多,游戏的效果就越好。例如,策略类游戏(Simulation Game,SLG)中大规模士兵行军、战斗是游戏中必不可少的一部分,当前游戏一般使用图形处理器(Graphics Processing Unit,GPU)蒙皮实例Skin Instance方法对大量士兵渲染,减少绘制调用Drawcall从而提升游戏效率。GPU Skin Instance是通过GPU实例化渲染的能力,一次Drawcall渲染多个蒙皮网格skin mesh的方法。Instance渲染的前提是所有skin mesh使用的资源是相同的,包含材料material参数和骨骼动画数据。而传统的动画数据是逐物体设置的,渲染每个skin mesh之前,将骨骼动画更新,传到常量缓冲区const buffer中,供GPU skin使用。所以,要想实现skin mesh的Skin Instance必须将动画数据打包到一个资源中,比较合适的方法就是存储到纹理中。在进行动画渲染时,通过对纹理的采样来获取动画数据,并进行渲染,但是,目前通过纹理存储动画数据的效率较低。
发明内容
一种动画渲染方法、装置、电子设备和存储介质,能够提高通过纹理存储动画数据的效率。
第一方面,提供一种动画渲染方法,包括:
在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,法线信息占用R通道的另一部分位置、G通道的另一部分位置、B通道的另一部分位置和A通道的位置;
根据顶点位置信息和法线信息进行动画渲染。
在一种可能的实施方式中,第一纹理文件的格式为RGBAHalf;
顶点位置信息占用R通道、G通道和B通道中每个通道的小数位的8比特位;
法线信息占用R通道、G通道和B通道中每个通道的小数位的2比特位以及A通道的16比特位。
在一种可能的实施方式中,从同一个第一纹理文件中获取顶点位置信息和法线信息的过程包括:
在着色器中对第一纹理文件进行采样,得到第一原始数据;
对第一原始数据进行解码,得到顶点位置信息和法线信息。
在一种可能的实施方式中,动画渲染方法还包括:
在骨骼动画模式中,从第二纹理文件中获取动作数据,动作数据包括平移数据和四元数的旋转数据;
根据动作数据进行动画渲染。
在一种可能的实施方式中,动作数据还包括缩放数据。
在一种可能的实施方式中,从第二纹理文件中获取动作数据包括:
在着色器中对第二纹理文件进行采样,得到第二原始数据;
对第二原始数据进行解码,得到平移数据、旋转数据和缩放数据。
第二方面,提供一种动画渲染装置,包括:
获取模块,用于在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,法线信息占用R通道的另一部分位置、G通道的另一部分位置、B通道的另一部分位置和A通道的位置;
渲染模块,用于根据顶点位置信息和法线信息进行动画渲染。
第三方面,提供一种电子设备,包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被处理器执行时,触发电子设备执行上述的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的方法。
第五方面,提供一种计算机程序产品,计算机程序产品包含可执行指令,当可执行指令在计算机上执行时,使得计算机执行上述的方法。
本申请实施例中的动画渲染方法、装置、电子设备、存储介质和计算机程序产品,使顶点位置信息和法线信息分别占用纹理文件中RGB每个通道的一部分,且法线信息占用A通道的位置,这样,就可以通过同一个纹理文件来同时存储顶点位置信息和法线信息,这样,在动画渲染的过程中,只需要对一个纹理文件进行采样,即可以获取到顶点位置信息和法线信息两种类型的信息,以便于进行动画渲染,节省了渲染过程中的采样次数,因此提高了通过纹理存储动画数据的效率。
附图说明
图1为相关技术中一种存储顶点位置信息的纹理示意图;
图2为相关技术中一种存储法线信息的纹理示意图;
图3为相关技术中一种骨骼矩阵烘焙纹理示意图;
图4为本申请实施例中一种动画渲染方法的流程示意图;
图5为本申请实施例中一种Half类型数据的结构示意图;
图6为本申请实施例中一种第一纹理文件的纹理示意图;
图7为本申请实施例中另一种动画渲染方法的流程示意图;
图8为本申请实施例中一种第二纹理文件的纹理示意图;
图9为本申请实施例中一种动画渲染装置的结构框图;
图10为本申请实施例中一种电子设备的结构框图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
在介绍本申请实施例之前,首先对相关技术中的问题进行说明。Skin Instance方法针对的动画模式包括两种:顶点动画模式和骨骼动画模式。以下分别对两种模式下的技术问题进行说明。
顶点动画模式是将每帧动画数据软蒙皮到mesh数据中,从内存中直接获取mesh顶点位置信息,同时需要获取每个顶点位置信息对应的法线信息。这样就需要两个纹理:例如一个纹理的格式为RGBAHalf,用于存储顶点位置信息;另一个纹理的格式为RGB24,用于存储法线。渲染时,在脚本中更新渲染实例的动画状态,根据当前动画中播放的关键帧和顶点索引计算纹理中的uv坐标,进而获取顶点位置信息和法线信息。
顶点动画模式中,针对一个对象的渲染需要采样存储顶点位置信息的纹理和存储法线信息的纹理,即需要两次采样,另外加上动作融合使采样次数翻倍,即共需要的采样次数达到四次。对于大量的渲染对象来说,这样会对硬件造成较大的压力,因此减少纹理采样次数就成为了提高提高纹理存储效率的有效方式。
为了减少纹理采样次数,可以通过将两种纹理合并的方式来实现,例如,如图1所示,存储顶点位置信息的纹理格式为RGBAHalf、A通道的16比特位空间并未使用,如图2所示,存储法线信息的纹理格式为RGB24,需要24比特位空间。一种方法是将法线信息的R通道数据和G通道数据均压缩为7比特位并合并到顶点位置信息的纹理的A通道中,法线信息的B通道数据可以由R通道数据和G通道数据计算得到,例如b=sqrt(1–r*r–g*g),sqrt为平方根函数,r为法线信息的R通道数据,g法线信息的G通道数据,通过这种方式,b的符号位占一比特位,存储发现信号一共需要15比特位。但是经实验发现,这种采样得到发现信息的方法,最终会导致法线闪烁比较严重,原因是计算b的过程中,有较大的精度浪费。
相对于顶点动画模式,骨骼动画模式使烘焙动画数据中骨骼的变换矩阵到纹理中。对于浮点类型Float的4*4矩阵,只需要存储3*4的数据。由于每个数据格式是一致的,如图3所示,所以可以存储到同一个纹理文件,形成骨骼矩阵烘焙纹理,在渲染时,可以采样三次获得3*4数据,拼装成矩阵。骨骼动画模式相比顶点动画模式的优势是:1、烘焙数据只跟骨骼数目相关;2、烘焙数据可以对使用同一个骨骼Skeleton的模式共用。缺点是采样次数过多,每个顶点绑定两根骨头Bone,就需要采样6次,如果有不同的动作融合,采样数量翻倍为12次,这对于动画渲染时的硬件带宽压力很大。
对于顶点动画模式,为了改善上述法线闪烁的问题,一种法线信息的存储方法是存储R、G、B中数值较小的两个通道数据,另一个通过计算得出。具体的算法可以通过下面的代码实现:
Figure BDA0003575202780000031
Figure BDA0003575202780000041
但是这种编码需要额外的3个比特位来存储额外信息,这样A通道的16比特位就不够使用。
因此,本申请实施例提供了一种动画渲染方法,如图4所示,方法包括:
在顶点动画模式中,执行步骤101、从同一个第一纹理文件中获取顶点位置信息和法线信息;
其中,顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,法线信息占用R通道的另一部分位置、G通道的另一部分位置、B通道的另一部分位置和A通道的位置,也就是说,将原本存储顶点位置信息的纹理中每个通道的顶点位置数据进行压缩,压缩后剩余的空间用于存储法线信息,即通过顶点位置信息的RGB每个通道借位存储法线信息,另外,A通道的位置也用于存储法线信息,这样,就可以通过同一个纹理文件来同时存储顶点位置信息和法线信息。
步骤102、根据顶点位置信息和法线信息进行动画渲染。
本申请实施例中的动画渲染方法,使顶点位置信息和法线信息分别占用纹理文件中RGB每个通道的一部分,且法线信息占用A通道的位置,这样,就可以通过同一个纹理文件来同时存储顶点位置信息和法线信息,这样,在动画渲染的过程中,只需要对一个纹理文件进行采样,即可以获取到顶点位置信息和法线信息两种类型的信息,以便于进行动画渲染,节省了渲染过程中的采样次数,因此提高了通过纹理存储动画数据的效率。
在一种可能的实施方式中,第一纹理文件的格式为RGBAHalf,该格式的兼容性较高,半精度浮点数Half类型数据具有如图5所示的结构,其中包括1比特的符号位sign、5比特的指数位exponent以及10比特的小数位fraction,通过测试,对于存储顶点位置信息的小数位来说,只需要保留8比特位的精度即可以满足需求,因此,可以从原本存储顶点位置信息的RGB的每个通道借用2比特位,以及加上A通道的16比特位,一共是22比特位来存储法线信息,如图6所示,刚好可以存储R7G8B7格式的法线信息。顶点位置信息占用R通道、G通道和B通道中每个通道的小数位的8比特位,顶点位置信息例如可以占用RGB的每个通道中小数位的前8位;法线信息占用R通道、G通道和B通道中每个通道的小数位的2比特位以及A通道的16比特位,法线信息例如可以占用RGB的每个通道中小数位的后2位。
在一种可能的实施方式中,步骤101、从同一个第一纹理文件中获取顶点位置信息和法线信息的过程包括:
步骤1011、在着色器shader中对第一纹理文件进行采样,得到第一原始数据;
步骤1012、对第一原始数据进行解码,得到顶点位置信息和法线信息。
其中,由于顶点位置信息和法线信息按照一定的规则被存储在同一个纹理文件中,因此,每次采样纹理文件所获取的第一原始数据,均需要进行解码,才能够拼装得到对应的顶点位置信息和法线信息。
在一种可能的实施方式中,如图7所示,上述方法还包括:
在骨骼动画模式中,执行步骤201、从第二纹理文件中获取动作数据,动作数据包括平移数据和四元数的旋转数据;
步骤202、根据动作数据进行动画渲染。
在一种可能的实施方式中,动作数据还包括缩放数据。
在一种可能的实施方式中,步骤201、从第二纹理文件中获取动作数据包括:在着色器中对第二纹理文件进行采样,得到第二原始数据;对第二原始数据进行解码,得到平移数据、旋转数据和缩放数据。
具体地,骨骼动画模式中的动作数据即为烘焙到第二纹理文件中的矩阵数据,实际上动作数据是经过一系列缩放、旋转和平移得到的,所以本申请实施例中使用四元数来代替旋转数据,保留平移数据,由于缩放在骨骼动画模式中为等比缩放(例如在SLG中如果缩放是非等比缩放,则校色在做动作时会变形,这几乎是不存在的),所以缩放数据使用一个浮点类型float数据表示,即动作数据为两个vector4类型数据,动作数据具体为以半精度浮点数Half类型数据存储在第二纹理文件,其中两个vector4类型数据被编码为RGBAFloat类型,通过对第二纹理文件的一次采样可以获取全部数据,如图8所示,与图3对比可见,纹理文件的数据量减少了33%。另外通过对动作数据的编码,减少了纹理采样次数,在动画渲染过程中,纹理采样次数由6次变为2次,考虑动作融合的情况,纹理采样次数从12次变为4次。可见,采样次数下降,即降低了硬件在渲染时的带宽压力。
如图9所示,本申请实施例还提供一种动画渲染装置,包括:获取模块1,用于在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,法线信息占用R通道的另一部分位置、G通道的另一部分位置、B通道的另一部分位置和A通道的位置;渲染模块2,用于根据顶点位置信息和法线信息进行动画渲染。动画渲染装置可以应用上述任意实施例中的动画渲染方法,具体过程和原理与上述实施例相同,在此不再赘述。
应理解以上动画渲染装置的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,获取模块1和渲染模块2中的任意一者可以为单独设立的处理元件,也可以集成在动画渲染装置中,例如集成在动画渲染装置的某一个芯片中实现,此外,也可以以程序的形式存储于动画渲染装置的存储器中,由动画渲染装置的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。另外,上述动画渲染装置可以为同一个装置,也可以为不同的装置。
例如,动画渲染装置可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在一种可能的实施方式中,第一纹理文件的格式为RGBAHalf;顶点位置信息占用R通道、G通道和B通道中每个通道的小数位的8比特位;法线信息占用R通道、G通道和B通道中每个通道的小数位的2比特位以及A通道的16比特位。
在一种可能的实施方式中,从同一个第一纹理文件中获取顶点位置信息和法线信息的过程包括:在着色器中对第一纹理文件进行采样,得到第一原始数据;对第一原始数据进行解码,得到顶点位置信息和法线信息。
在一种可能的实施方式中,获取模块1还用于,在骨骼动画模式中,从第二纹理文件中获取动作数据,动作数据包括平移数据和四元数的旋转数据;渲染模块2还用于,根据动作数据进行动画渲染。
在一种可能的实施方式中,动作数据还包括缩放数据。
在一种可能的实施方式中,从第二纹理文件中获取动作数据包括:
在着色器中对第二纹理文件进行采样,得到第二原始数据;
对第二原始数据进行解码,得到平移数据、旋转数据和缩放数据。
如图10所示,本申请实施例还提供一种电子设备,处理器51和存储器52,存储器52用于存储至少一条指令,指令由处理器51加载并执行时以实现上述任意实施例中的动画渲染方法。动画渲染方法的具体过程和原理与上述实施例相同,在此不再赘述。
处理器51的数量可以为一个或多个,处理器51和存储器52可以通过总线53或者其他方式连接。存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的数据处理装置对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行各种功能应用以及数据处理,即实现上述任意方法实施例中的方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;以及必要数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。电子设备例如可以为服务器、电脑、手机等电子产品。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述任意实施例中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本申请实施例还提供一种计算机程序产品,计算机程序产品包含可执行指令,当可执行指令在计算机上执行时,使得计算机执行上述任意实施例中的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种动画渲染方法,其特征在于,包括:
在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,所述顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,所述法线信息占用所述R通道的另一部分位置、所述G通道的另一部分位置、所述B通道的另一部分位置和A通道的位置;
根据所述顶点位置信息和所述法线信息进行动画渲染。
2.根据权利要求1所述的方法,其特征在于,
所述第一纹理文件的格式为RGBAHalf;
所述顶点位置信息占用所述R通道、所述G通道和所述B通道中每个通道的小数位的8比特位;
所述法线信息占用所述R通道、所述G通道和所述B通道中每个通道的小数位的2比特位以及所述A通道的16比特位。
3.根据权利要求2所述的方法,其特征在于,
所述从同一个第一纹理文件中获取顶点位置信息和法线信息的过程包括:
在着色器中对所述第一纹理文件进行采样,得到第一原始数据;
对所述第一原始数据进行解码,得到所述顶点位置信息和所述法线信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
在骨骼动画模式中,从第二纹理文件中获取动作数据,所述动作数据包括平移数据和四元数的旋转数据;
根据所述动作数据进行动画渲染。
5.根据权利要求4所述的方法,其特征在于,
所述动作数据还包括缩放数据。
6.根据权利要求5所述的方法,其特征在于,
所述从第二纹理文件中获取动作数据包括:
在着色器中对所述第二纹理文件进行采样,得到第二原始数据;
对所述第二原始数据进行解码,得到所述平移数据、所述旋转数据和所述缩放数据。
7.一种动画渲染装置,其特征在于,包括:
获取模块,用于在顶点动画模式中,从同一个第一纹理文件中获取顶点位置信息和法线信息,所述顶点位置信息占用R通道的部分位置、G通道的部分位置和B通道的部分位置,所述法线信息占用所述R通道的另一部分位置、所述G通道的另一部分位置、所述B通道的另一部分位置和A通道的位置;
渲染模块,用于根据所述顶点位置信息和所述法线信息进行动画渲染。
8.一种电子设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行权利要求1-6任一项所述的方法。
CN202210342235.3A 2022-03-31 2022-03-31 动画渲染方法、装置、电子设备和存储介质 Pending CN114882149A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202210342235.3A CN114882149A (zh) 2022-03-31 2022-03-31 动画渲染方法、装置、电子设备和存储介质
US17/945,996 US20230316624A1 (en) 2022-03-31 2022-09-15 Method and apparatus for animation rendering, electronic device, and storage medium
EP22197372.0A EP4254341A3 (en) 2022-03-31 2022-09-23 Method and apparatus for animation rendering, electronic device, and storage medium
KR1020220122708A KR20230141408A (ko) 2022-03-31 2022-09-27 애니메이션 렌더링 방법, 장치, 전자 기기 및 저장 매체
JP2022157691A JP7490029B2 (ja) 2022-03-31 2022-09-30 動画レンダリング方法、装置、電子機器及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210342235.3A CN114882149A (zh) 2022-03-31 2022-03-31 动画渲染方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114882149A true CN114882149A (zh) 2022-08-09

Family

ID=82670422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210342235.3A Pending CN114882149A (zh) 2022-03-31 2022-03-31 动画渲染方法、装置、电子设备和存储介质

Country Status (5)

Country Link
US (1) US20230316624A1 (zh)
EP (1) EP4254341A3 (zh)
JP (1) JP7490029B2 (zh)
KR (1) KR20230141408A (zh)
CN (1) CN114882149A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908678A (zh) * 2023-02-25 2023-04-04 深圳市益玩网络科技有限公司 骨骼模型渲染方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2435335A (en) 2006-02-21 2007-08-22 Sony Computer Entertainment Inc Multi-processor emulation by a multi-processor
JP7214392B2 (ja) 2018-08-08 2023-01-30 株式会社藤商事 遊技機
US10839586B1 (en) 2019-06-07 2020-11-17 Snap Inc. Single image-based real-time body animation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908678A (zh) * 2023-02-25 2023-04-04 深圳市益玩网络科技有限公司 骨骼模型渲染方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20230316624A1 (en) 2023-10-05
KR20230141408A (ko) 2023-10-10
EP4254341A2 (en) 2023-10-04
JP7490029B2 (ja) 2024-05-24
JP2023152589A (ja) 2023-10-17
EP4254341A3 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
RU2677584C1 (ru) Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе
US8670613B2 (en) Lossless frame buffer color compression
US8547382B2 (en) Video graphics system and method of pixel data compression
US9478002B2 (en) Vertex parameter data compression
US9754345B2 (en) Compression and decompression of graphics data using pixel region bit values
CN112714357B (zh) 视频播放方法、视频播放装置、电子设备和存储介质
EP2797049B1 (en) Color buffer compression
US8655063B2 (en) Decoding system and method operable on encoded texture element blocks
US20180097527A1 (en) 32-bit hdr pixel format with optimum precision
CN114882149A (zh) 动画渲染方法、装置、电子设备和存储介质
US9336561B2 (en) Color buffer caching
JPH1196345A (ja) グラフィックス画像の圧縮及び逆圧縮方法
CN112991412B (zh) 一种液晶仪表序列帧动画性能优化方法及液晶仪表
CN111507895A (zh) 图像处理方法及装置、计算机存储介质、电子设备
CN109408028B (zh) 浮点数运算方法、装置及存储介质
CN110175269B (zh) 一种顶点索引的压缩及解压缩方法、装置及计算机存储介质
EP4287131A1 (en) Batch rendering method, apparatus, device and storage medium
CN114996491A (zh) 一种全液晶仪表显示性能优化方法和系统
CN117456079A (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