@spearwolf/twopoint5d
Version:
Create 2.5D realtime graphics and pixelart with WebGL and three.js
36 lines • 1.37 kB
JavaScript
import { VertexObjects } from '../../vertex-objects/VertexObjects.js';
import { TexturedSpritesGeometry, } from './TexturedSpritesGeometry.js';
import { TexturedSpritesMaterial } from './TexturedSpritesMaterial.js';
const isTexture = (value) => Boolean(value?.isTexture);
export class TexturedSprites extends VertexObjects {
get spritePool() {
return this.geometry.instancedPool;
}
get createSprite() {
return this.geometry.instancedPool.createVO;
}
get freeSprite() {
return this.geometry.instancedPool.freeVO;
}
get texture() {
return this.material.colorMap;
}
set texture(texture) {
this.material.colorMap = texture;
}
constructor(geometry, material = new TexturedSpritesMaterial()) {
super(geometry instanceof TexturedSpritesGeometry ? geometry : new TexturedSpritesGeometry(geometry), isTexture(material)
? new TexturedSpritesMaterial({ colorMap: material })
: material instanceof TexturedSpritesMaterial
? material
: new TexturedSpritesMaterial(material));
this.name = 'twopoint5d.TexturedSprites';
}
dispose() {
this.geometry?.dispose();
this.geometry = undefined;
this.material?.dispose();
this.material = undefined;
}
}
//# sourceMappingURL=TexturedSprites.js.map