UNPKG

@spearwolf/twopoint5d

Version:

Create 2.5D realtime graphics and pixelart with WebGL and three.js

36 lines 1.37 kB
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