CN103530898A - 一种基于3d实时渲染的动画处理方法和系统 - Google Patents
一种基于3d实时渲染的动画处理方法和系统 Download PDFInfo
- Publication number
- CN103530898A CN103530898A CN201310003466.2A CN201310003466A CN103530898A CN 103530898 A CN103530898 A CN 103530898A CN 201310003466 A CN201310003466 A CN 201310003466A CN 103530898 A CN103530898 A CN 103530898A
- Authority
- CN
- China
- Prior art keywords
- animation
- real
- queue
- task
- scene
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 45
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 23
- 230000000694 effects Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 9
- 230000007115 recruitment Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 2
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 abstract 1
- 230000003993 interaction Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000220317 Rosa Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于3D实时渲染的动画处理方法和系统,所述方法包括:动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;当在任务队列中添加动画时,通过单件模式获取所需添加的动画,并对其设置一唯一的名称;再将所述动画关联场景中的节点。其规避大量复杂的判断逻辑;令渲染场景与动画处理进行分离,有利于模块的复用,简化渲染场景的管理中场景节点的逻辑控制、并使得动画有了更简单灵活的动画延时开启管理;又进一步地通过Task任务队列管理,消除了多线程间交互带来的野指针导致系统死机的隐患。
Description
技术领域
本发明涉及3D动画技术领域,尤其涉及一种基于3D实时渲染的动画处理方法和系统。
背景技术
随着近几年兴起的Iphone、Android智能手机,OpenGL ES开发绘制的嵌入式3D图形效果,越来越受到广大用户的青睐,3D UI(即3D界面) 已然成为智能手机、智能电视的首选。但在嵌入设备中不管是3D游戏或者3D UI,都需要实时动画渲染的支持来增加画面的感染力和真实感。对于在智能平台中如何更有效率的、更方便的控制实时动画渲染是一个瓶颈问题。通常随着上层应用的需求,动画即需要满足实时渲染控制,又要满足设计效果,动画的逻辑会越写越复杂,最终变得难以扩充,难以维护。
目前,3D实时渲染主要存在以下问题:
(1)在3D渲染的中,动画的实现原理是:先依据动画算法改变渲染物体位置、大小、旋转或者物体自身的形态,然后再以改变的结果做为渲染的属性参数在下一帧渲染改变后状态,如果动画依附在渲染节点上,该节点隐藏后,就无法实现动画对渲染物体的自身属性的改变;
(2)动画挂在每一个渲染节点,即使动画任务结束后,(实现这个动画的函数)也会每一帧执行一次。执行函数时:需要开启函数栈、保存现场、出栈,传递函数参数效率低,在嵌入式紧缺的CPU资源下,无疑是一个巨大的浪费;
(3)目前渲染引擎的动画机制没有实现监听通知的功能,通常3D场景中会有执行完一个动画,再启动一个动画或者开启一个逻辑处理的需求,现行的动画管理结构中不存在消息分发的机制,导致场景管理的逻辑复杂化;
(4)多线程下动画的动态删除异常。渲染场景需要接受按键、鼠标等用户的输入,一般是事件线程,而与渲染线程相对独立,如果在事件线程触发了一个删除动画的操作,而在动画刚被删除完,渲染线程进行渲染,那么野指针就会导致系统的崩溃死机。
有鉴于此,现有技术有待改进和提高。
发明内容
鉴于现有技术的不足,本发明目的在于提供一种基于3D实时渲染的动画处理方法和系统。旨在解决现有技术的书3D实时渲染中存在的逻辑复杂、资源浪费等问题。
本发明的技术方案如下:
一种基于3D实时渲染的动画处理方法,其中,包括以下步骤:
Sa、动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;
Sb、动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;
Sc、当在任务队列中添加动画时,通过单件模式获取所需添加的动画,并对其设置一唯一的名称,将所述动画关联场景中的节点。
所述的基于3D实时渲染的动画处理方法,其中,在所述步骤Sa之前还包括步骤Sa1、将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。
所述的基于3D实时渲染的动画处理方法,其中,所述步骤Sb中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括以下步骤:
Sb1、遍历任务队列进行更新;
Sb2、按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
Sb3、判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
所述的基于3D实时渲染的动画处理方法,其中,所述步骤Sa中的共用算法池内设置有关联位置类型的函数指针和关联渐变类型的函数指针。
所述的基于3D实时渲染的动画处理方法,其中,还包括步骤,当在任务队列中的动画的状态迁移时,执行:
Sd、动画初始化后添加到活动队列中,并向监听集合发送动画创建状态;
Se、事件完成后,将动画放入动画删除队列中,并向监听集合发送动画删除状态,判断是否要彻底删除所述动画;
Sf、接收用户发送的删除指令后,将动画放入动画结束队列中,彻底删除所述动画。
所述的基于3D实时渲染的动画处理方法,其中,所述步骤Sb中动画执行过程中,对动画状态按照百分比进行执行,其具体包括:取实际连续n个渲染帧的时间差值,再求取n-1个时间差的平均数做为实际动画每帧的时间增加量,其中,所述n为大于2的自然数。
一种基于3D实时渲染的动画处理系统,其中,包括:
初始化模块,用于进行动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;
队列管理及监听模块,用于动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听,控制动画的执行;
动画添加模块,用于通过单件模式获取所需添加的动画,并对其设置一唯一的名称,并将所述动画关联场景中的节点。
所述的基于3D实时渲染的动画处理系统,其中,还包括:
动画划分模块,用于将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。
所述的基于3D实时渲染的动画处理系统,其中,所述步骤队列管理及监听模块中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括:
遍历单元,用于遍历任务队列进行更新;
迭代单元,用于按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
删除单元,用于判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
所述的基于3D实时渲染的动画处理系统,其中,所述初始化模块中的共用算法池内设置有关联位置类型的函数指针和关联渐变类型的函数指针。
有益效果:
本申请的基于3D实时渲染的动画处理方法和系统,规避大量复杂的判断逻辑;令渲染场景与动画处理进行分离,有利于模块的复用,简化渲染场景的管理中场景节点的逻辑控制、并使得动画有了更简单、灵活的动画延时开启管理;又进一步地通过Task任务队列管理,消除了多线程间交互带来的野指针导致系统死机的隐患。
附图说明
图1为本发明的基于3D实时渲染的动画处理方法的流程图。
图2为图1中的动画场景管理器模块示意图。
图3为图1中动画状态按照百分比执行的示意图。
图4为本发明的基于3D实时渲染的动画处理系统的结构框图。
具体实施方式
本发明提供一种基于3D实时渲染的动画处理方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本发明的基于3D实时渲染的动画处理方法的流程图。如图所示,所述基于3D实时渲染的动画处理方法,包括以下步骤:
S1、动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;
S2、动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;
S3、当在任务队列中添加动画时,通过单件模式获取所需添加的动画,并对其设置一唯一的名称,并将所述动画关联场景中的节点。
下面分别针对上述步骤进行具体描述。
所述步骤S1是将动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内。具体来说,为了保证动画管理类的唯一性,从设计上继承单例模式的模板类,本方法并不以全局变量的方式在程序启动前加载,而是作为场景管理的类成员,在场景管理类初始化时构建,能够保证在场景管理获取唯一的动画管理对象,降低了模块间的耦合度。初始化过程中,需要注册动画的共用执行算法,按照动画的类型,注册到一个容器中,即共用算法池。如图2所示,在本实施例中,动画场景管理器内包括的动画管理模块,在程序启动前加载,其包括:任务队列管理(下面会介绍到)、私有动画对象池(包括私有动画的对象指针)和共用算法池(设置有关联位置类型的函数指针和关联渐变类型的函数指针)。其中,注册预定义的动画类型以及动画执行的函数指针中,程序员也可以通过接口注册相应的类型和执行函数。在执行状态下,所有的动画都会调用其中的一种,或者不同类型的多种(算法,曲线、直线等)函数进行自我状态的更新。
所述步骤S2是在动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行。其中,采用Task任务队列管理,能够把将有限状态机的状态迁移管理融入动画执行的过程中。具体来说,其可以解决多线程下动画的动态删除异常,非线程安全带来的异常情况。渲染场景需要接受按键、鼠标等用户的输入,一般是事件线程,而与渲染线程相对独立,如果在事件线程触发了一个删除动画的操作,而在动画被刚删除完,渲染线程即进行渲染,那么野指针就会导致系统的崩溃死机;而采用队列管理后,我们将事件线程要删除的动画,移动到动画删除队列中,这时不执行真正的delete操作,真正的删除需要对是否真正要删除后,移动到结束队列中,完成真正的delete操作,保证了数据的正确性,也解决了动画野指针带来的系统崩溃的问题(后续会介绍到)。进一步地,嵌入式平台的资源是非常紧缺的,动画挂在每一个渲染节点,即使动画任务结束后,也会每一帧执行一次。执行函数时:需要开启函数栈、保存现场、出栈,传递函数参数效率低,而且都是无用,在嵌入式紧缺的CPU资源下,无疑是一个巨大的浪费。通过状态队列管理机制,可以将超过生命周期的动画,移动到动画删除队列中,进行删除处理,避免函数的重复多次执行带来的不必要的资源浪费。
另外,建立相应的监听机制对动画进行监听,其降低了场景管理的逻辑复杂化。目前渲染引擎的动画机制没有实现监听通知的功能,通常3D场景中会有执行完一个动画,再启动一个动画或者开启一个逻辑处理的需求,现行的动画管理结构中不存在消息分发的机制,导致场景管理的逻辑复杂化。在本发明中,对动画的执行状态需要进行监听,从而触发不同的行为状态,例如:焦点切换时,需要启动一个位移的动画,使得焦点框从A点移动到B点,到达B点后,需要启动一个图标抖动的动画,这就需要动画状态队列管理来分发焦点动画的执行状态,通知控制程序是否启动图标抖动的动画。目前的实现方式为在渲染过程中通过if的条件逻辑判断,造成了动画控制逻辑的异常复杂,可维护性低,调试成本高。
当在任务队列中添加动画时,执行步骤S3,其具体包括:通过单件模式获取动画管理的对象,创建一个唯一名称的动画对象,关联场景中Node(即节点),添加到动画活动队列中,此时用户也可以将针对此动画对象的监听者注册到动画对象中,该对象在每帧执行时都通知监听者的状态,以方便用户实时针对动画的状态做出响应。另外,当在任务队列中的动画的状态迁移时,首先,动画初始化后添加到活动队列中,并向监听集合发送动画创建状态;事件完成后,将动画放入动画删除队列中,并向监听集合发送动画删除状态,判断是否要彻底删除所述动画;接收用户发送的删除指令后,将动画放入动画结束队列中,彻底删除所述动画。即删除队列中的动画不执行真正的delete操作,真正的删除需要对是否真正要删除进行判断为删除后,移动到结束队列中,做真正的delete操作,保证了数据的正确性,也解决了动画野指针带来的系统崩溃的问题。
进一步地,所述步骤S2中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括以下步骤:
S21、遍历任务队列进行更新;
S22、按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
S23、判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
具体来说,在本实施例中,首先按照动画对象的优先级排序。排序后,优先级高的对象先得到执行。
在执行过程中,遍历任务队列进行更新,会判断动画任务是否要结束?即判断Finish函数中,判断是否存在更新次数,存在则进行迭代,迭代后,更新次数减1,进一步判断更新次数是否小于 0 ,小于0执行 Finish函数 返回。结束后继续进入判断:动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中,在本实施例中,通过特殊标记位来确定是否进行初始化: 特殊标记位-1则无限循环,重新初始化开始;如果没有标志位则返回将动画对象移除活动队列,放入要删除队列中。在本实施例中,所述标志位采用整形枚举变量,其标识着动画执行循环类型:LOOP 循环一直播放,Once 执行一次,还有往复运动等。另外,对一组动画进行串行执行,一般的引擎的管理方式为:在逻辑中每帧判断是否动画结束,如果结束就启动下一个动画。缺陷是,如果串行的动画比较多,则在逻辑需要写很多的判断条件来划分动画执行状态。针对此情况,本发明设计一种方法,其基于人脑的认知和动画添加的先后次序,来进行动画的停止和启动,避免了逻辑层写大量的逻辑判断,减轻了程序开发与控制的复杂程度。其中,根据人脑认知,简单来说就是添加了A任务、B任务、C任务后,我们便认为A任务执行完,执行B任务,B任务完后,再执行C任务;是一个按照添加顺序排列的串行执行的规则。具体的更新为:先获取组内所有的动画对象,并初始化第一播放的索引为0,在更新过程中,增加索引值,当索引值大于所有的动画对象的个数时,将整组动画添加到删除队列中。
更进一步地,在所述步骤S1之前还包括步骤S0、将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。因为,一般来说同一个动画可能会应用到多个节点上,如果为每个节点都创建一个相同类型的动画,就非常浪费嵌入式系统有限的系统资源。我们设计为上述动画模块的结构以解决动画公用的问题。
更进一步地,所述步骤S2中动画执行过程中,对动画状态按照百分比进行执行,其具体包括:取实际连续n个渲染帧的时间差值,再求取n-1个时间差的平均数做为实际动画每帧的时间增加量,其中,所述n为大于2的自然数。如图3所示,在本实施例中,n为6,渲染帧依次为1000、1003、1008、1012、1020和1025,其时间差值依次为3、5、4、8、5,如此一来,实际动画每帧的时间增加量即为(3+5+4+8+5)/ 5 =25/5 = 5。
本发明还提供了一种基于3D实时渲染的动画处理系统,如图4所示,其包括:初始化模块100、队列管理及监听模块200以及动画添加模块300。
其中,所述初始化模块100用于进行动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;所述队列管理及监听模块200用于动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;所述动画添加模块300用于通过单件模式获取所需添加的动画,并对其设置一唯一的名称,并将所述动画关联场景中的节点。
进一步地,所述基于3D实时渲染的动画处理系统还包括:动画划分模块,所述动画划分模块用于将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。更进一步地,所述的基于3D实时渲染的动画处理系统,其中,所述步骤队列管理及监听模块中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括:
遍历单元,用于遍历任务队列进行更新;
迭代单元,用于按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
删除单元,用于判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
上述系统中的功能模块及单元都已经在方法步骤中进行了详细描述,这里就不再一一赘述了。
本发明的基于3D实时渲染的动画处理系统应用于智能电视开发平台3D渲染引擎中,解决以往引擎动画管理的缺陷,提高渲染效率,减少逻辑控制的复杂度,以及规避多线程间交互带来野指针导致系统死机的隐患。
下面通过一个具体的例子来说明其是如何进行动画创建和监听的。首先,通过单件模式获取动画管理的对象,创建一个唯一名称“focus”的动画对象,在本实施例中,所述动画的类型为直线飞行动画,插值方式为线性插值,插值公式为:
Value = A *radio + B*(1-radio), 公式(1)
,A表示起点位置A,B表示结束位置; radio表示动画运行的百分比:起点是0%,终点是100%,动画运行期间介于0.0到1.0的值,用于插值计算。在本实施例中,动画时间为500ms,并将场景中Focus Node关联起来,之后将动画的指针添加到活动队列中,进行动画更新,更新时调用公共的线性插值函数,计算当前焦点框的位置,并将计算出的位置设置给Focus Node。
当进行动画监听时,添加监听者,监听focus动画对象的动画状态,当focus位移动画对象的状态从活动状态切换到删除状态时,启动B点位置focus的放缩动画,通过value值控制焦点框在B点从小到大变化;动画的类型为直线飞行动画,插值方式为线性插值,插值公式为
Value = A1 *radio + B1*(1-radio); 公式(2)
其中,A1为起点缩放大小,B1为结束位置的缩放大小,radio含义如同公式(1),同时,设置迭代标识为true。
综上所述,本发明的基于3D实时渲染的动画处理方法和系统,其中,所述方法包括:首先,动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;当在任务队列中添加动画时,通过单件模式获取所需添加的动画,并对其设置一唯一的名称;再将所述动画关联场景中的节点。其规避大量复杂的判断逻辑;令渲染场景与动画处理进行分离,有利于模块的复用,简化渲染场景的管理中场景节点的逻辑控制、并使得动画有了更简单、灵活的动画延时开启管理;又进一步地通过Task任务队列管理,消除了多线程间交互带来的野指针导致系统死机的隐患。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于3D实时渲染的动画处理方法,其特征在于,包括以下步骤:
Sa、动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;
Sb、动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听控制动画的执行;
Sc、当在任务队列中添加动画时,通过单件模式获取所需添加的动画,并对其设置一唯一的名称,将所述动画关联场景中的节点。
2.根据权利要求1所述的基于3D实时渲染的动画处理方法,其特征在于,在所述步骤Sa之前还包括步骤Sa1、将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。
3.根据权利要求1所述的基于3D实时渲染的动画处理方法,其特征在于,所述步骤Sb中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括以下步骤:
Sb1、遍历任务队列进行更新;
Sb2、按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
Sb3、判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
4.根据权利要求1所述的基于3D实时渲染的动画处理方法,其特征在于,所述步骤Sa中的共用算法池内设置有关联位置类型的函数指针和关联渐变类型的函数指针。
5.根据权利要求1所述的基于3D实时渲染的动画处理方法,其特征在于,还包括步骤,当在任务队列中的动画的状态迁移时,执行:
Sd、动画初始化后添加到活动队列中,并向监听集合发送动画创建状态;
Se、事件完成后,将动画放入动画删除队列中,并向监听集合发送动画删除状态,判断是否要彻底删除所述动画;
Sf、接收用户发送的删除指令后,将动画放入动画结束队列中,彻底删除所述动画。
6.根据权利要求1所述的基于3D实时渲染的动画处理方法,其特征在于,所述步骤Sb中动画执行过程中,对动画状态按照百分比进行执行,其具体包括:取实际连续n个渲染帧的时间差值,再求取n-1个时间差的平均数做为实际动画每帧的时间增加量,其中,所述n为大于2的自然数。
7.一种基于3D实时渲染的动画处理系统,其特征在于,包括:
初始化模块,用于进行动画场景初始化,并按照动画类型,注册动画的共用执行算法到一共用算法池内;
队列管理及监听模块,用于动画执行过程中,采用Task任务队列管理,并建立相应的监听机制对动画进行监听,并通过监听,控制动画的执行;
动画添加模块,用于通过单件模式获取所需添加的动画,并对其设置一唯一的名称,并将所述动画关联场景中的节点。
8.根据权利要求7所述的基于3D实时渲染的动画处理系统,其特征在于,还包括:
动画划分模块,用于将动画模块划分为共有部分和私有部分,其中,所述共有部分包括动画执行算法和动画类型,所述私有部分包括动画播放时间和动画执行状态。
9.根据权利要求7所述的基于3D实时渲染的动画处理系统,其特征在于,所述步骤队列管理及监听模块中Task任务队列管理,按照动画对象的优先级进行排序,并进一步包括:
遍历单元,用于遍历任务队列进行更新;
迭代单元,用于按照需进行更新的动画的更新次数进行若干次迭代,直至更新次数为0;
删除单元,用于判断动画是否要重新初始化,若是则重新初始化,否则将动画移除活动队列放入删除队列中。
10.根据权利要求7所述的基于3D实时渲染的动画处理系统,其特征在于,所述初始化模块中的共用算法池内设置有关联位置类型的函数指针和关联渐变类型的函数指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310003466.2A CN103530898B (zh) | 2013-01-06 | 2013-01-06 | 一种基于3d实时渲染的动画处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310003466.2A CN103530898B (zh) | 2013-01-06 | 2013-01-06 | 一种基于3d实时渲染的动画处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530898A true CN103530898A (zh) | 2014-01-22 |
CN103530898B CN103530898B (zh) | 2017-04-05 |
Family
ID=49932876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310003466.2A Expired - Fee Related CN103530898B (zh) | 2013-01-06 | 2013-01-06 | 一种基于3d实时渲染的动画处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530898B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN105427358A (zh) * | 2015-12-23 | 2016-03-23 | 武汉斗鱼网络科技有限公司 | 一种基于安卓的视图动画生成方法及系统 |
CN105574914A (zh) * | 2015-12-18 | 2016-05-11 | 深圳市沃优文化有限公司 | 3d动态场景的制作装置及其制作方法 |
CN106775889A (zh) * | 2016-12-28 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 利用对象池实现Flash播放器资源加载的方法及系统 |
CN106856007A (zh) * | 2016-12-08 | 2017-06-16 | 微鲸科技有限公司 | 一种动画绘制方法 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
WO2019006937A1 (zh) * | 2017-07-04 | 2019-01-10 | 武汉斗鱼网络科技有限公司 | 一种虚拟礼物展示方法、装置、服务器及存储介质 |
CN111314764A (zh) * | 2020-03-04 | 2020-06-19 | 南方电网科学研究院有限责任公司 | 跨屏动画在分布式渲染环境中的同步方法 |
CN112767799A (zh) * | 2021-02-07 | 2021-05-07 | 江南大学 | 一种基于电磁学实验器材的软件构件封装方法 |
CN115237502B (zh) * | 2022-07-30 | 2023-08-29 | 中邮消费金融有限公司 | 一种用于加载动画防止频繁闪烁的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620742A (zh) * | 2009-08-12 | 2010-01-06 | 国网电力科学研究院 | 一种用于三维渲染的实时数据处理方法 |
CN101719079A (zh) * | 2009-12-17 | 2010-06-02 | 中国电力科学研究院 | 一种处理任务的方法及装置 |
CN102385515A (zh) * | 2011-10-21 | 2012-03-21 | 广州市久邦数码科技有限公司 | 一种基于Android系统的GO图像动画引擎 |
CN102520951A (zh) * | 2011-12-13 | 2012-06-27 | 天津大学 | 基于Flash的三维游戏场景管理系统 |
US20120169741A1 (en) * | 2010-07-15 | 2012-07-05 | Takao Adachi | Animation control device, animation control method, program, and integrated circuit |
CN102637073A (zh) * | 2012-02-22 | 2012-08-15 | 中国科学院微电子研究所 | 一种在三维动画引擎底层实现人机交互的方法 |
CN102831631A (zh) * | 2012-08-23 | 2012-12-19 | 上海创图网络科技发展有限公司 | 一种大规模三维动画的渲染方法及渲染装置 |
-
2013
- 2013-01-06 CN CN201310003466.2A patent/CN103530898B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620742A (zh) * | 2009-08-12 | 2010-01-06 | 国网电力科学研究院 | 一种用于三维渲染的实时数据处理方法 |
CN101719079A (zh) * | 2009-12-17 | 2010-06-02 | 中国电力科学研究院 | 一种处理任务的方法及装置 |
US20120169741A1 (en) * | 2010-07-15 | 2012-07-05 | Takao Adachi | Animation control device, animation control method, program, and integrated circuit |
CN102385515A (zh) * | 2011-10-21 | 2012-03-21 | 广州市久邦数码科技有限公司 | 一种基于Android系统的GO图像动画引擎 |
CN102520951A (zh) * | 2011-12-13 | 2012-06-27 | 天津大学 | 基于Flash的三维游戏场景管理系统 |
CN102637073A (zh) * | 2012-02-22 | 2012-08-15 | 中国科学院微电子研究所 | 一种在三维动画引擎底层实现人机交互的方法 |
CN102831631A (zh) * | 2012-08-23 | 2012-12-19 | 上海创图网络科技发展有限公司 | 一种大规模三维动画的渲染方法及渲染装置 |
Non-Patent Citations (2)
Title |
---|
耿卫东等: "《三维游戏引擎设计与实现》", 31 October 2008 * |
黄灯桥: "《Ext JS 权威指南》", 30 June 2012 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN104102488B (zh) * | 2014-07-18 | 2017-09-22 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN105574914A (zh) * | 2015-12-18 | 2016-05-11 | 深圳市沃优文化有限公司 | 3d动态场景的制作装置及其制作方法 |
CN105574914B (zh) * | 2015-12-18 | 2018-11-30 | 深圳市沃优文化有限公司 | 3d动态场景的制作装置及其制作方法 |
CN105427358A (zh) * | 2015-12-23 | 2016-03-23 | 武汉斗鱼网络科技有限公司 | 一种基于安卓的视图动画生成方法及系统 |
CN105427358B (zh) * | 2015-12-23 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 一种基于安卓的视图动画生成方法及系统 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN107203960B (zh) * | 2016-06-30 | 2021-03-09 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN106856007A (zh) * | 2016-12-08 | 2017-06-16 | 微鲸科技有限公司 | 一种动画绘制方法 |
CN106775889A (zh) * | 2016-12-28 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 利用对象池实现Flash播放器资源加载的方法及系统 |
WO2019006937A1 (zh) * | 2017-07-04 | 2019-01-10 | 武汉斗鱼网络科技有限公司 | 一种虚拟礼物展示方法、装置、服务器及存储介质 |
CN111314764A (zh) * | 2020-03-04 | 2020-06-19 | 南方电网科学研究院有限责任公司 | 跨屏动画在分布式渲染环境中的同步方法 |
CN111314764B (zh) * | 2020-03-04 | 2022-05-20 | 南方电网科学研究院有限责任公司 | 跨屏动画在分布式渲染环境中的同步方法 |
CN112767799A (zh) * | 2021-02-07 | 2021-05-07 | 江南大学 | 一种基于电磁学实验器材的软件构件封装方法 |
CN115237502B (zh) * | 2022-07-30 | 2023-08-29 | 中邮消费金融有限公司 | 一种用于加载动画防止频繁闪烁的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103530898B (zh) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530898A (zh) | 一种基于3d实时渲染的动画处理方法和系统 | |
RU2420806C2 (ru) | Плавные переходы между анимациями | |
TW202207030A (zh) | 深度學習模型的分布式訓練方法以及裝置 | |
CA2461516C (en) | System supporting animation of graphical display elements through animation object instances | |
Barbagallo et al. | A bio-inspired algorithm for energy optimization in a self-organizing data center | |
López-Neri et al. | A modeling framework for urban traffic systems microscopic simulation | |
CN104216715A (zh) | 一种Web App开发框架及方法 | |
CN102520925B (zh) | Aadl2tasm模型转换方法 | |
CN112685179B (zh) | 一种基于云上成本的资源部署系统及方法 | |
US8504501B2 (en) | Dynamic constraint satisfaction problem solver | |
US8065255B2 (en) | Management of sub-problems in a dynamic constraint satisfaction problem solver | |
CN102314349A (zh) | 空间信息功能插件工作流搭建方法 | |
CN105260244A (zh) | 一种分布式系统任务调度的方法和装置 | |
CN108043029B (zh) | 逻辑控制方法及装置 | |
US20230289223A1 (en) | Task scheduling method, game engine, device and storage medium | |
CN102682461B (zh) | 一种动画渲染方法、系统及动画播放器 | |
CN102810210A (zh) | 利用flash脚本实现的三维骨骼动画控制系统及方法 | |
CN117157624A (zh) | 自动容器迁移系统 | |
CN114416322A (zh) | 基于双链表的任务调度方法、装置、电子设备及存储介质 | |
CN111124695A (zh) | 一种动效管理方法、系统及设备 | |
CN106155801B (zh) | 一种设备迁移的方法及资源管理中心 | |
CN116011257B (zh) | 一种多层级任务的流程仿真方法及装置 | |
WO2024217153A1 (zh) | 虚拟对象的属性更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
Wang et al. | Dots in unity3d game | |
CN112650573B (zh) | 一种任务调度方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170405 |
|
CF01 | Termination of patent right due to non-payment of annual fee |