Menu

Smokey Cursor Effect

Customize

Sim Resolution128
Dye Resolution1440
Density Dissipation3.5
Velocity Dissipation2
Pressure1
Pressure Iterations20
Curl3
Splat Radius0.2
Splat Force6000
Color Update Speed10

Props

simResolutionnumber

Grid resolution of the velocity/pressure simulation. Lower values are cheaper but blockier; the sim is reinitialized only on mount.

Default128
dyeResolutionnumber

Grid resolution of the visible dye/color texture. Auto-clamped to 256 when the browser lacks linear-filtering support for float textures.

Default1440
densityDissipationnumber

How quickly the smoke/dye fades over time. Higher values dissipate faster; live-tunable without reinitializing WebGL.

Default3.5
velocityDissipationnumber

How quickly fluid motion slows down. Higher values make the flow feel more viscous/damped; live-tunable.

Default2
pressurenumber

Pressure-clear coefficient used each step before the Jacobi pressure solve; live-tunable.

Default0.1
pressureIterationsnumber

Number of Jacobi iterations used to solve the pressure field per frame. Higher values are more accurate but costlier. Requires remount to change.

Default20
curlnumber

Vorticity confinement strength, controlling how swirly/curly the smoke motion looks; live-tunable.

Default3
splatRadiusnumber

Radius (relative to canvas) of the color/velocity splat injected on pointer move and click; live-tunable.

Default0.2
splatForcenumber

Force multiplier applied to pointer-movement deltas when injecting velocity into the field; live-tunable.

Default6000
shadingboolean

Enables the normal-based lighting term in the display shader for a more 3D, glossy smoke look. Toggling re-selects the shader keyword variant without a full reinit.

Defaulttrue
colorUpdateSpeednumber

How quickly the pointer color cycles through the HSV wheel while moving. Only applies when `color` is not set; live-tunable.

Default10
colorstring | null

Fixed hex color (e.g. "#ff6b00") used for every splat instead of the random HSV cycle. Leave as null to keep the default rainbow cycling; live-tunable.

Defaultnull
classNamestring

Custom class name applied to the outer wrapper div, useful for setting size/rounding from the parent. The canvas background is always transparent.

Default""

Crafted withbyMohammad Tasin