/
IAnimationSet.as
49 lines (42 loc) · 1.64 KB
/
IAnimationSet.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package away3d.animators
{
import away3d.entities.Mesh;
import away3d.core.base.IRenderable;
import away3d.core.managers.Stage3DProxy;
import away3d.materials.passes.MaterialPassBase;
/**
* @author robbateman
*/
public interface IAnimationSet
{
function get states():Vector.<IAnimationState>;
function getState(stateName:String):IAnimationState;
function addState(stateName:String, animationState:IAnimationState):void;
function get usesCPU() : Boolean;
/**
* Generates the AGAL Vertex code for the animation, tailored to the material pass's requirements.
* @param pass The MaterialPassBase object to whose vertex code the animation's code will be prepended.
* @return The AGAL Vertex code that animates the vertex data.
*
* @private
*/
function getAGALVertexCode(pass : MaterialPassBase, sourceRegisters : Array, targetRegisters : Array) : String;
/**
* Sets the GPU render state required by the animation that is independent of the rendered mesh.
* @param context The context which is currently performing the rendering.
* @param pass The material pass which is currently used to render the geometry.
*
* @private
*/
function activate(stage3DProxy : Stage3DProxy, pass : MaterialPassBase) : void
/**
* Clears the GPU render state that has been set by the current animation.
* @param context The context which is currently performing the rendering.
* @param pass The material pass which is currently used to render the geometry.
*
* @private
*/
function deactivate(stage3DProxy : Stage3DProxy, pass : MaterialPassBase) : void
function resetGPUCompatibility() : void;
}
}