@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
63 lines (62 loc) • 2.48 kB
TypeScript
/**
* Contains a list of {@link MorphTarget}, a combined delta AABB and some associated data.
*
* @category Graphics
*/
export class Morph extends RefCountedObject {
/**
* Create a new Morph instance.
*
* @param {import('./morph-target.js').MorphTarget[]} targets - A list of morph targets.
* @param {import('../platform/graphics/graphics-device.js').GraphicsDevice} graphicsDevice -
* The graphics device used to manage this morph target.
* @param {object} [options] - Object for passing optional arguments.
* @param {boolean} [options.preferHighPrecision] - True if high precision storage should be
* prefered. This is faster to create and allows higher precision, but takes more memory and
* might be slower to render. Defaults to false.
*/
constructor(targets: import("./morph-target.js").MorphTarget[], graphicsDevice: import("../platform/graphics/graphics-device.js").GraphicsDevice, { preferHighPrecision }?: {
preferHighPrecision?: boolean;
});
/**
* @type {BoundingBox}
* @private
*/
private _aabb;
/** @type {boolean} */
preferHighPrecision: boolean;
device: import("../platform/graphics/graphics-device.js").GraphicsDevice;
_targets: import("./morph-target.js").MorphTarget[];
_renderTextureFormat: number;
_textureFormat: number;
_useTextureMorph: boolean;
get aabb(): BoundingBox;
get morphPositions(): boolean;
get morphNormals(): boolean;
get maxActiveTargets(): number;
get useTextureMorph(): boolean;
_init(): void;
_findSparseSet(deltaArrays: any, ids: any, usedDataIndices: any, floatRounding: any): number;
_initTextureBased(): boolean;
morphTextureWidth: number;
morphTextureHeight: number;
vertexBufferIds: VertexBuffer;
/**
* Frees video memory allocated by this object.
*/
destroy(): void;
/**
* Gets the array of morph targets.
*
* @type {import('./morph-target.js').MorphTarget[]}
*/
get targets(): import("./morph-target.js").MorphTarget[];
_updateMorphFlags(): void;
_morphPositions: boolean;
_morphNormals: boolean;
_createTexture(name: any, format: any): Texture;
}
import { RefCountedObject } from '../core/ref-counted-object.js';
import { BoundingBox } from '../core/shape/bounding-box.js';
import { VertexBuffer } from '../platform/graphics/vertex-buffer.js';
import { Texture } from '../platform/graphics/texture.js';