@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
40 lines • 1.51 kB
TypeScript
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