Renderer · interface

PlumeOptions

Explained in Hello world.

interface PlumeOptions
import type { PlumeOptions } from '@driftengine/core';

Properties

NameTypeDescription
materialPlumeMaterialWhich plume this is, by name.
More

This replaced a pair of GLSL source strings on 2026-08-13, and the replacement is a breaking change made on purpose. A caller-supplied shader is a capability that can only ever exist on WebGL2: WebGPU has no runtime GLSL compiler and this package must not ship one. Naming the material lets each backend resolve what it can compile. See plumeMaterial.ts for what was given up.

blendPlumeBlendEmissive effects (fire) add light; dense ones (smoke) occlude it.
sizePulseoptionalnumberHow much the quads swell and shrink over time, 0 for a fixed size. Purely visual — anything gameplay depends on must keep its own fixed volume, or the simulation starts depending on the render clock.
windResponseoptionalnumberHow far this plume leans in a given wind, metres per m/s at its crown. Smoke is carried; a flame is anchored to its fuel and barely bends.
tintoptionalVec3Colour handed to the fragment stage as uTint, or white when absent.
More

Optional shader contract, the same arrangement uNoiseOctaves and uCameraRight already use: the uniform is set unconditionally and uniformLocations hands back null for a shader that ignores it, so fire and smoke are untouched by this existing.