@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
23 lines (22 loc) • 1.14 kB
TypeScript
import type { Buffer, VertexBuffer } from "../Buffers/buffer.js";
import type { DataBuffer } from "../Buffers/dataBuffer.js";
import type { Effect } from "../Materials/effect.js";
import type { UniformBufferEffectCommonAccessor } from "../Materials/uniformBufferEffectCommonAccessor.js";
import type { DataArray, Nullable } from "../types.js";
/** @internal */
export interface IGPUParticleSystemPlatform {
alignDataInBuffer: boolean;
contextLost: () => void;
isUpdateBufferCreated: () => boolean;
isUpdateBufferReady: () => boolean;
createUpdateBuffer: (defines: string) => UniformBufferEffectCommonAccessor;
createVertexBuffers: (updateBuffer: Buffer, renderVertexBuffers: {
[key: string]: VertexBuffer;
}) => void;
createParticleBuffer: (data: number[]) => DataArray | DataBuffer;
bindDrawBuffers: (index: number, effect: Effect, indexBuffer: Nullable<DataBuffer>) => void;
preUpdateParticleBuffer: () => void;
updateParticleBuffer: (index: number, targetBuffer: Buffer, currentActiveCount: number) => void;
releaseBuffers: () => void;
releaseVertexBuffers: () => void;
}