splat

The step that draws every agent into the shared canvas, one variant per kind of agent.

splat: { orientedWorld, pointWorld, volume, relief }

Import sim from shaders/std and use sim.agentRender.splat.

renderAgents pairs each with its resolve; reach for splat alone when you need another pairing.

Example

splat: {kernel: splat.orientedWorld(simLayout, {shape: 'arrow', res: 1024, splatRCap: 16, heading: 'velocity', agitation: 'buffer', comet: true, name: 'boidsSplat'}), threads: 'agents'}

Tip. relief dispatches over a 2D grid (threads: 'grid'); the other three dispatch over agents.

Members

  • splat.orientedWorld — Agents with a heading: arrows, streaks, squares, dots or comets drawn along the way they point.
  • splat.pointWorld — Round motes with a live softness, placed, brightened and sized by pointSlot parts.
  • splat.volume — A 3D swarm in perspective, recording speed for the ramp resolve.
  • splat.relief — Particles standing on an image, drawn in the child's color through a camera.

See also

  • resolve — The step that turns the shared canvas into the output picture and clears it for the next frame.
  • renderAgents — How the agents are drawn, as one declared part: a splat (each agent stamps its shape into a shared canvas) paired with the matching resolve (the canvas becomes the output picture).
  • pointSlot — The three parts a round mote is drawn with: where it sits (orbitalPlace), how bright it is (twinkleBrightness) and how big it is (presenceRadius).