POPX

Physarum

v1.3.0
Simulations

Summary

Physarum is a GPU-accelerated simulation that creates organic network patterns inspired by the Physarum polycephalum slime mold organism. This operator simulates particles (agents) that sense their environment through forward-facing sensors, rotate toward higher concentrations of deposited trails, and move while depositing their own trails. The emergent behavior produces vein-like networks, branching patterns, and maze-solving structures as particles collectively optimize paths through space, creating patterns similar to biological transportation networks, neural systems, and fungal mycelium.

The simulation operates in 2D or 3D space with a volumetric trail map that stores deposited pheromone-like values. Each particle extends sensors at specified distances and angles to sample trail concentrations, rotates toward the strongest signal using configurable rotation angles, and moves forward depositing trail substance. The trail map undergoes diffusion and decay each iteration, spreading and fading the deposited trails to create smooth gradients that guide particle movement. You control particle behavior through sensor parameters (distance, angle), rotation parameters (turning angle based on sensor readings), move distance, and diffusion settings (blur type, decay rate, filter size).

Physarum supports optional volume constraints to confine particle movement within texture-defined regions using force-based repulsion (2D texture in 2D mode, 3D texture in 3D mode). The simulation outputs both particle positions and the trail texture, allowing visualization of the particle swarm itself or just the accumulated trail patterns. Boundary behaviors (off, clamp, loop, zigzag) control how particles interact with simulation bounds. This makes Physarum ideal for generative network art, organic vein patterns, maze generation, path optimization visualization, neural network aesthetics, and procedural mycelium textures.

Parameters

Target Particles Update POPParticlesupdatepop
Reference to a POP node downstream in the network. This reference will cause a feedback loop and re-injects the particles next frame.
Target Trail Update TOPTrailupdatetop
Reference to a TOP node downstream in the network. This reference will cause a feedback loop and re-injects the trail deposit texture next frame.
Simulation SpaceSimspace
Dimensionality of simulation.
3D3d2D2d
Max Axis ResolutionMaxaxisres
Maximum voxel/pixel resolution for longest axis of trail texture.
Bounds SizeBoundssize
Physical size of simulation volume in world units.
Bounds SizeBoundssizexBounds SizeBoundssizeyBounds SizeBoundssizez
Simulation ResolutionSimres
Read-only display of actual trail texture resolution.
Simulation ResolutionSimresxSimulation ResolutionSimresySimulation ResolutionSimresz
Bounds TypeBoundstype
Boundary behavior.
OffoffClampclampLooploopZig Zagzigzag
Number of ParticlesNumberofparticles
Particle count when no input connected (spawned at initialization).
SeedSeed
Random seed for particle spawn positions and directions.
Point SizePointsize
Particle render size in 2D mode for trail deposition.
Sensor Distance BaseSensordistancebase
Base distance for sensor probe ahead of particle.
Sensor Distance PowerSensordistancepower
Power function applied to trial-sampled sensor distance variation.
Sensor Distance ScaleSensordistancescale
Multiplier for trial-sampled sensor distance variation range.
Sensor Angle BaseSensoranglebase
Base angle offset for sensors from forward direction (degrees).
Sensor Angle PowerSensoranglepower
Power function applied to trial-sampled sensor angle variation.
Sensor Angle ScaleSensoranglescale
Multiplier for trial-sampled sensor angle variation range (degrees).
Rotation Angle BaseRotationanglebase
Base rotation angle when turning toward detected trails (degrees).
Rotation Angle PowerRotationanglepower
Power function applied to trial-sampled rotation angle variation.
Rotation Angle ScaleRotationanglescale
Multiplier for trial-sampled rotation angle variation range (degrees).
Move Distance BaseMovedistancebase
Base distance particles move forward per iteration.
Move Distance PowerMovedistancepower
Power function applied to trial-sampled move distance variation.
Move Distance ScaleMovedistancescale
Multiplier for trial-sampled move distance variation range.
Decay RateDecay
Rate at which trails fade over time (0 = permanent, 1 = instant).
Diffuse PassesDiffusepasses
Number of blur iterations to spread trails (0 = no diffusion).
TypeType
Blur filter algorithm for diffusion.
Catmull-RomcatmullGaussiangaussianBoxboxBartlettebartletteSincsincHanninghanningBlackmanblackman
ExtendExtend
Edge handling for blur.
HoldholdRepeatrepeatMirrormirror
Filter SizeSize
Blur kernel radius (larger = wider spread).
Filter ScaleFilterscale
Per-axis multiplier for filter kernel size.
Filter ScaleFilterscale1Filter ScaleFilterscale2Filter ScaleFilterscale3
Sample StepOffset
Sample offset distance for blur in pixels.
Sample StepOffsetxSample StepOffsetySample StepOffsetz
InitializeInitializepulse
Pulse to reset simulation and spawn initial particles.
StartStartpulse
Pulse to begin simulation from initialized state.
PlayPlay
Toggle continuous simulation playback.
StepSteppulse
Pulse to advance simulation by one iteration while paused.
Constraint to VolumeConstrainttovolume
Confines particle movement within texture-defined regions.
Constraint VolumeConstraintvolume
Reference to a 2D/3D texture TOP to use as constraint volume when no third input is connected.
Force StrengthForcestrength
Strength of repulsion force from volume boundaries.
Pre-ShrinkPreshrink
Downsamples volume before blur for performance.
Filter SizeFiltersize
Blur kernel size for smoothing volume constraint field.
Free Extra GPU MemoryFreeextragpumem
Free memory that has accumulated when output memory has grown and shrunk.

Inputs

Input 0POP
Particles In
Input 1TOP
Constraint Volume

Outputs

Output 0POP
Particles Out
Output 1TOP
Trail
Output 2TOP
Deposit