mdx-m3-viewer
Version:
A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.
58 lines (57 loc) • 2.16 kB
TypeScript
import MdlxParticleEmitter2 from '../../../parsers/mdlx/particleemitter2';
import MdxModel from './model';
import GenericObject from './genericobject';
import MdxTexture from './texture';
/**
* An MDX particle emitter type 2.
*/
export default class ParticleEmitter2Object extends GenericObject {
geometryEmitterType: number;
width: number;
length: number;
speed: number;
latitude: number;
gravity: number;
emissionRate: number;
squirt: number;
lifeSpan: number;
variation: number;
tailLength: number;
timeMiddle: number;
columns: number;
rows: number;
teamColored: number;
internalTexture: MdxTexture | null;
replaceableId: number;
textureId: number;
head: boolean;
tail: boolean;
cellWidth: number;
cellHeight: number;
colors: Float32Array[];
scaling: Float32Array;
intervals: Float32Array[];
filterMode: number;
blendSrc: number;
blendDst: number;
priorityPlane: number;
lineEmitter: number;
unfogged: number;
modelSpace: number;
xYQuad: number;
/**
* Even if the internal texture isn't loaded, it's fine to run emitters based on this emitter object.
*
* The particles will simply be black.
*/
ok: boolean;
constructor(model: MdxModel, emitter: MdlxParticleEmitter2, index: number);
getWidth(out: Float32Array, sequence: number, frame: number, counter: number): number;
getLength(out: Float32Array, sequence: number, frame: number, counter: number): number;
getSpeed(out: Float32Array, sequence: number, frame: number, counter: number): number;
getLatitude(out: Float32Array, sequence: number, frame: number, counter: number): number;
getGravity(out: Float32Array, sequence: number, frame: number, counter: number): number;
getEmissionRate(out: Float32Array, sequence: number, frame: number, counter: number): number;
getVariation(out: Float32Array, sequence: number, frame: number, counter: number): number;
getVisibility(out: Float32Array, sequence: number, frame: number, counter: number): number;
}