UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

40 lines 1.51 kB
import { TgdDataset } from "../../dataset"; import { TgdShaderFragment, TgdShaderVertex } from "../../shader"; import { TgdPainter } from "../painter"; import { TgdContext } from "../../context"; import { TgdProgram } from "../../program"; import { TgdTexture2D, TgdTextureCube } from "../../texture"; export interface TgdPainterParticlesUniformsContext { time: number; delta: number; prg: TgdProgram; } export interface TgdPainterParticlesOptions { name?: string; dataset: TgdDataset; drawMode: "POINTS" | "LINES" | "TRIANGLES"; shader: { vert: TgdShaderVertex; frag: TgdShaderFragment; }; textures?: Record<string, TgdTexture2D | TgdTextureCube>; setUniforms?(options: TgdPainterParticlesUniformsContext): void; prefixAttribute?: string; prefixVarying?: string; } export declare class TgdPainterParticles extends TgdPainter { readonly context: TgdContext; protected static counter: number; readonly count: number; drawMode: "POINTS" | "LINES" | "TRIANGLES"; setUniforms?: (options: TgdPainterParticlesUniformsContext) => void; private readonly textures; private readonly vaos; private readonly buffers; private readonly prg; private pingPong; constructor(context: TgdContext, { name, dataset, shader, drawMode, textures, setUniforms, prefixAttribute, prefixVarying, }: TgdPainterParticlesOptions); paint(time: number, delta: number): void; delete(): void; } //# sourceMappingURL=particles.d.ts.map