particle optable → rgbaimport fullseye as fs; fs.ledger.particle_render(state, height, width, mode='add', fade=True) (実装を直接呼ぶなら import gfx2d; gfx2d.particle_render(state, height, width, mode='add', fade=True)、台帳から引くなら opsgfx2d.get("particle_render"))Splat a particle state into an rgba image.
Each particle is a radially symmetric (1 - (r/R)^2)^2 kernel of radius
size, weighted by its alpha and, when fade is set, by the remaining
fraction of its life (1 - age/life). Particles past their lifetime
contribute nothing.
mode is "add" (premultiplied additive — what a spark does; the
result is clipped at 1 and the clipped energy is not returned) or
"over" (each particle composited in array order, which is what a soft
smoke puff does).
Pure function of the state: no randomness enters here, so two calls on the same state produce identical bytes.
py -3.11 examples/gfx2d_scene.pyrgba を入力に取れる)premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice · nine_slice
particle)Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.