12345678910111213141516171819202122232425262728293031323334353637 |
- import type { IParticleSystem } from "./IParticleSystem";
- import type { Effect } from "../Materials/effect";
- import "../Shaders/particles.vertex";
- import type { EffectFallbacks } from "../Materials/effectFallbacks";
- declare module "../Engines/abstractEngine" {
- interface AbstractEngine {
- /**
- * Create an effect to use with particle systems.
- * Please note that some parameters like animation sheets or not being billboard are not supported in this configuration, except if you pass
- * the particle system for which you want to create a custom effect in the last parameter
- * @param fragmentName defines the base name of the effect (The name of file without .fragment.fx)
- * @param uniformsNames defines a list of attribute names
- * @param samplers defines an array of string used to represent textures
- * @param defines defines the string containing the defines to use to compile the shaders
- * @param fallbacks defines the list of potential fallbacks to use if shader compilation fails
- * @param onCompiled defines a function to call when the effect creation is successful
- * @param onError defines a function to call when the effect creation has failed
- * @param particleSystem the particle system you want to create the effect for
- * @returns the new Effect
- */
- createEffectForParticles(fragmentName: string, uniformsNames: string[], samplers: string[], defines: string, fallbacks?: EffectFallbacks, onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void, particleSystem?: IParticleSystem): Effect;
- }
- }
- declare module "../Meshes/mesh" {
- interface Mesh {
- /**
- * Returns an array populated with IParticleSystem objects whose the mesh is the emitter
- * @returns an array of IParticleSystem
- */
- getEmittedParticleSystems(): IParticleSystem[];
- /**
- * Returns an array populated with IParticleSystem objects whose the mesh or its children are the emitter
- * @returns an array of IParticleSystem
- */
- getHierarchyEmittedParticleSystems(): IParticleSystem[];
- }
- }
|