Particles
GPU particle simulation and rendering. Emit, update with forces, and render thousands of particles in real-time.
Attractor
Pull particles toward a point in space.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| position | 3D Vector | (0.00, 0.00, 0.00) | Target point particles are pulled toward |
| strength | Number | 1.00 | Pull intensity — negative values repel |
| falloff | Number | 2.00 | Distance exponent — higher = faster falloff |
Outputs:
| Name | Type | Description |
|---|---|---|
| force | 3D Vector | Force contribution for the particle update shader |

Related: Drag, Draw Particles, Gravity, Particle Age, Particle Age Normalized
Drag
Apply velocity damping (air resistance) to particles.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| coefficient | Number | 0.02 | Damping factor — higher values slow particles faster |
Outputs:
| Name | Type | Description |
|---|---|---|
| force | 3D Vector | Force contribution for the particle update shader |

Related: Attractor, Draw Particles, Gravity, Particle Age, Particle Age Normalized
Draw Particles
GPU particle simulation and rendering. Emit, update physics, and render all in one node.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| camera | Transform Matrix | Viewport Camera | View-projection matrix from a camera node |
| transform | 3D Vector / Transform Matrix | identity | World transform for the emitter position and orientation |
| spawnRate | Number | 300.00 | Number of particles emitted per second |
| velocity | 3D Vector | (0.00, 1.00, 0.00) | Initial velocity direction and magnitude |
| velocitySpread | 3D Vector | (0.50, 0.50, 0.50) | Random spread added to initial velocity per axis |
| life | Number | 2.00 | Particle lifespan in seconds before removal |
| lifeVariance | Number | 0.20 | Random variation added to lifespan |
| size | Number | 0.10 | Base particle size in world units |
| sizeVariance | Number | 0.10 | Random variation added to particle size |
| forces | 3D Vector | none | Force chain (Gravity, Drag, Turbulence, etc.) |
| geometry | Geometry | plane | Per-particle mesh (default: billboard quad) |
| surface | RGB Color / RGBA Color / 3D Vector / 4D Vector / Visual Output | Soft Gradient | Surface shader or color for particle appearance |
| blend | Option | Alpha (options: Alpha, Additive, Premultiplied) | How particles composite with the scene |
| emitShape | Geometry | point | Geometry mesh defining the emission shape |
| emitMode | Option | Surface (options: Surface, Volume) | Emit from surface or fill volume |
| normalVelocity | Number | 0.00 | Velocity along emission shape surface normals |
| clearColor | RGB Color / RGBA Color / 3D Vector / 4D Vector | RGBA(0.05, 0.05, 0.05, 1.00) | Background clear color |
Outputs:
| Name | Type | Description |
|---|---|---|
| colorResult | Visual Output | Rendered particle color texture |
| depthResult | Visual Output | Rendered particle depth texture |

Related: Attractor, Drag, Gravity, Particle Age, Particle Age Normalized
Gravity
Apply gravitational acceleration to particles.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| strength | Number | 9.80 | Acceleration magnitude in units/s² |
| direction | 3D Vector | (0.00, -1.00, 0.00) | Normalized direction of gravitational pull |
Outputs:
| Name | Type | Description |
|---|---|---|
| force | 3D Vector | Force contribution for the particle update shader |

Related: Attractor, Drag, Draw Particles, Particle Age, Particle Age Normalized
Particle Age
Current particle age in seconds. Use for time-based effects.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Current age in seconds since emission |
Related: Attractor, Drag, Draw Particles, Gravity, Particle Age Normalized
Particle Age Normalized
Particle age as 0-1 (birth to death). Perfect for gradients and fade effects.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Age as 0–1 fraction of total lifespan |

Related: Attractor, Drag, Draw Particles, Gravity, Particle Age
Particle Index
Particle index in buffer. Use with fract/sin for per-particle variation.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Particle’s index in the buffer |
Related: Attractor, Drag, Draw Particles, Gravity, Particle Age
Particle Seed
Random 0-1 value per particle. Use for variation in color, size, etc.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Deterministic random 0–1 value unique per particle |
Related: Attractor, Drag, Draw Particles, Gravity, Particle Age
Particle Speed
Particle speed (velocity magnitude). Use for speed-based effects.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | Number | Current speed (velocity magnitude) |
Related: Attractor, Drag, Draw Particles, Gravity, Particle Age
Particle Velocity
Current particle velocity vector. Use for motion effects.
This is a surface shader node - it can be connected to rendering nodes.
Inputs:
No inputs
Outputs:
| Name | Type | Description |
|---|---|---|
| result | 3D Vector | Current velocity vector |
Related: Attractor, Drag, Draw Particles, Gravity, Particle Age
Turbulence
Apply noise-based chaotic motion to particles.
Inputs:
| Name | Type | Default | Description |
|---|---|---|---|
| frequency | Number | 1.00 | Noise spatial frequency — higher = finer turbulence |
| amplitude | Number | 1.00 | Force strength — scales the noise output |
| speed | Number | 1.00 | Noise animation speed — how fast the turbulence evolves |
Outputs:
| Name | Type | Description |
|---|---|---|
| force | 3D Vector | Force contribution for the particle update shader |

Related: Attractor, Drag, Draw Particles, Gravity, Particle Age