Documentation
Docs/en/reference/particle-format/renderer.md
Particle Rendering Contract
Generated reference. Do not edit this page directly. Update
BuildTools/ParticleFormatInterface.json, then runpython BuildTools/docs_particle_format.py --write.
| Reference index | Source rules | Formats and backends | Rendering | Tooling | Runtime | Integration | Validation | Canonical JSON model | Guide | Authoring tools |
| Stable ID | Backend | Field or route | Default | Behavior | Source |
|---|---|---|---|---|---|
particle-format.renderer.spark-draw-route |
spark |
DrawInScene |
false | Use atlas rendering for ordinary particle sprites; enable DrawInScene when the effect must share the map scene and depth path. | Source/Client/SparkExtension.cpp |
particle-format.renderer.spark-resources |
spark |
EffectName / TextureName |
empty | Select a baked FOnline effect and a texture path valid for the particle resource source. | Source/Client/SparkExtension.cpp |
particle-format.renderer.effekseer-direct-scene |
effekseer |
GetDrawInScene |
true | Treat Effekseer effects as direct-scene particles and validate their supported renderer capabilities in the FOnline client. | Source/Client/EffekseerExtension.cpp |
particle-format.renderer.effekseer-geometry |
effekseer |
Sprite / Ring / Ribbon / Track / Model |
Engine-owned renderers | Use only Root, None, Sprite, Ring, Ribbon, Track, and Model nodes; the five drawing families are converted to Engine-owned callback geometry. | Source/Client/EffekseerExtension.cpp |
particle-format.renderer.effekseer-material-profile |
effekseer |
material / blend / filter / wrap |
Default material; authored sampling | Use the Default material, Normal/Add/Sub blending, nearest or linear filtering, and Clamp or Repeat wrapping. Multiply blending, mirrored wrapping, advanced texture slots, custom materials, soft particles, falloff, and flipbook interpolation are rejected. | Source/Client/EffekseerExtension.cpp |
particle-format.renderer.effekseer-depth-cull-sort |
effekseer |
ZTest / ZWrite / Culling / ZSort |
authored per node | Sprite and Ring may use stable camera-depth sorting; Ribbon, Track, and Model reject Z-sort. Per-node ZTest/ZWrite select an effect depth variant, and Model face culling selects the Engine draw cull mode. | Source/Client/EffekseerExtension.cpp |
particle-format.renderer.effekseer-distortion |
effekseer |
BackDistortion / DistortionIntensity |
disabled | Use scene distortion only on Sprite nodes with a distortion texture and finite intensity; the draw samples a deferred scene-background snapshot through BackgroundTex and ParticleSamplingBuf. | Source/Client/EffekseerExtension.cpp Source/Client/ParticleRuntime.h |
particle-format.renderer.effekseer-global-exclusions |
effekseer |
GPU particles and external resources |
unsupported | Do not use GPU particles, normal textures, sounds, custom materials, external curves, or procedural models. Referenced static model resources must load and pass FOnline validation. | Source/Client/EffekseerExtension.cpp |
particle-format.renderer.draw-in-scene |
spark |
draw in scene |
false | When any group renderer enables draw in scene, the whole ParticleSprite uses the direct map-scene path instead of atlas refresh. | Source/Client/SparkExtension.cpp |
particle-format.renderer.effect |
spark |
effect |
empty | Name a baked .fofx resource compatible with EffectUsage::QuadSprite; the renderer loads it through EffectManager. | Source/Client/SparkExtension.cpp |
particle-format.renderer.blend-mode |
spark |
blend mode |
unused | Do not author blend mode: the descriptor declares it, but SparkQuadRenderer neither imports, exports, nor applies it. Select blending in the .fofx effect instead. | Source/Client/SparkExtension.cpp |
particle-format.renderer.texture |
spark |
texture |
empty | Resolve a supported sprite resource relative to the .spark source directory and load its atlas texture through the provided texture loader. | Source/Client/SparkExtension.cpp |
particle-format.renderer.scale |
spark |
scale |
1;1 | One value changes X while retaining default Y; two values set X and Y particle-quad scale. | Source/Client/SparkExtension.cpp |
particle-format.renderer.atlas-dimensions |
spark |
atlas dimensions |
1;1 | One value sets the X cell count; two set X and Y. The particle texture-index parameter chooses atlas cells. | Source/Client/SparkExtension.cpp |
particle-format.renderer.look-orientation |
spark |
look orientation |
LOOK_CAMERA_PLANE | Use one of the four recognized look-orientation names; other strings leave the default orientation unchanged. | Source/Client/SparkExtension.cpp |
particle-format.renderer.up-orientation |
spark |
up orientation |
UP_CAMERA | Use one of the four recognized up-orientation names; other strings leave the default orientation unchanged. | Source/Client/SparkExtension.cpp |
particle-format.renderer.locked-axis |
spark |
locked axis |
LOCK_UP | Use LOCK_LOOK or LOCK_UP when an axis-based orientation mode needs one vector held fixed. | Source/Client/SparkExtension.cpp |
particle-format.renderer.locked-look-vector |
spark |
locked look vector |
(0,0,1) | Provide the world/local look vector used by the selected oriented-quad mode. | Source/Client/SparkExtension.cpp |
particle-format.renderer.locked-up-vector |
spark |
locked up vector |
(0,1,0) | Provide the world/local up vector used by the selected oriented-quad mode. | Source/Client/SparkExtension.cpp |