@awayjs/graphics
Version:
AwayJS graphics classes
90 lines • 3.41 kB
TypeScript
import { IAsset, AssetBase } from '@awayjs/core';
import { ShaderRegisterElement, ShaderRegisterCache, ShaderRegisterData } from '@awayjs/stage';
import { ShaderBase, AnimationNodeBase } from '@awayjs/renderer';
/**
* Provides an abstract base class for data set classes that hold animation data for use in animator classes.
*
* @see away.animators.AnimatorBase
*/
export declare class AnimationSetBase extends AssetBase implements IAsset {
static assetType: string;
private _usesCPU;
private _animations;
private _animationNames;
private _animationDictionary;
constructor();
/**
* Retrieves a temporary GPU register that's still free.
*
* @param exclude An array of non-free temporary registers.
* @param excludeAnother An additional register that's not free.
* @return A temporary register that can be used.
*/
_pFindTempReg(exclude: Array<string>, excludeAnother?: string): string;
/**
* Indicates whether the properties of the animation data contained within the set combined with
* the vertex registers already in use on shading materials allows the animation data to utilise
* GPU calls.
*/
get usesCPU(): boolean;
/**
* Called by the material to reset the GPU indicator before testing whether register space in the shader
* is available for running GPU-based animation code.
*
* @private
*/
resetGPUCompatibility(): void;
cancelGPUCompatibility(): void;
/**
* @inheritDoc
*/
getAGALVertexCode(shader: ShaderBase, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string;
/**
* @inheritDoc
*/
getAGALFragmentCode(shader: ShaderBase, registerCache: ShaderRegisterCache, shadedTarget: ShaderRegisterElement): string;
/**
* @inheritDoc
*/
getAGALUVCode(shader: ShaderBase, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string;
/**
* @inheritDoc
*/
doneAGALCode(shader: ShaderBase): void;
/**
* @inheritDoc
*/
get assetType(): string;
/**
* Returns a vector of animation state objects that make up the contents of the animation data set.
*/
get animations(): Array<AnimationNodeBase>;
/**
* Returns a vector of animation state objects that make up the contents of the animation data set.
*/
get animationNames(): Array<string>;
/**
* Check to determine whether a state is registered in the animation set under the given name.
*
* @param stateName The name of the animation state object to be checked.
*/
hasAnimation(name: string): boolean;
/**
* Retrieves the animation state object registered in the animation data set under the given name.
*
* @param stateName The name of the animation state object to be retrieved.
*/
getAnimation(name: string): AnimationNodeBase;
/**
* Adds an animation state object to the aniamtion data set under the given name.
*
* @param stateName The name under which the animation state object will be stored.
* @param animationState The animation state object to be staored in the set.
*/
addAnimation(node: AnimationNodeBase): void;
/**
* Cleans up any resources used by the current object.
*/
dispose(): void;
}
//# sourceMappingURL=AnimationSetBase.d.ts.map