|
| void | unravel::ps_soa::init (uint16_t max_emitters=64) |
| | Initialize the soa particle system.
|
| |
| void | unravel::ps_soa::init_gpu (rtti::context &ctx) |
| | Load compute pack program and enable GPU backend when available.
|
| |
| void | unravel::ps_soa::shutdown () |
| | Shutdown and free all emitters / GPU resources.
|
| |
| void | unravel::ps_soa::set_default_sim_backend (particle_sim_backend backend) |
| | Set default sim backend for new / unset emitters (cpu remains fallback).
|
| |
| auto | unravel::ps_soa::get_default_sim_backend () -> particle_sim_backend |
| | Current default sim backend.
|
| |
| void | unravel::ps_soa::set_emitter_sim_backend (emitter_handle handle, particle_sim_backend backend) |
| | Override backend for one emitter.
|
| |
| auto | unravel::ps_soa::get_emitter_sim_backend (emitter_handle handle) -> particle_sim_backend |
| | Effective backend for an emitter (after availability checks).
|
| |
| auto | unravel::ps_soa::is_gpu_sim_available () -> bool |
| | True when compute pack program loaded successfully.
|
| |
| auto | unravel::ps_soa::create_emitter (emitter_shape shape, emitter_direction direction, uint32_t max_particles) -> emitter_handle |
| | Create an emitter with shape/direction and capacity.
|
| |
| void | unravel::ps_soa::destroy_emitter (emitter_handle handle) |
| | Destroy an emitter and free its particle storage.
|
| |
| void | unravel::ps_soa::reset_emitter (emitter_handle handle) |
| | Clear particles and reset sim bookkeeping.
|
| |
| void | unravel::ps_soa::update_emitter (emitter_handle handle, float dt, const emitter_desc &desc, emitter_transform_state &transform, emitter_playback_desc &playback) |
| | Advance simulation for one emitter.
|
| |
| void | unravel::ps_soa::update_emitter_bounds_only (emitter_handle handle, const emitter_desc &desc, emitter_transform_state &transform) |
| | Refresh transform-driven world bounds without advancing sim (renderer-based freeze).
|
| |
| void | unravel::ps_soa::sync_gpu_simulation () |
| | Flush staged GPU spawns and advance resident GPU sim for awake emitters.
|
| |
| auto | unravel::ps_soa::has_updated (emitter_handle handle) -> bool |
| | True after the first successful update.
|
| |
| void | unravel::ps_soa::get_aabb (emitter_handle handle, math::bbox &out_aabb) |
| | World-space AABB used for culling.
|
| |
| auto | unravel::ps_soa::get_num_particles (emitter_handle handle) -> uint32_t |
| | Live particle count.
|
| |
| auto | unravel::ps_soa::render_emitter_batch (const emitter_handle *handles, uint32_t count, uint8_t view, bgfx::ProgramHandle program, const float *mtx_view, const math::vec3 &eye, bgfx::TextureHandle texture, uint64_t blend_state, bool sort_by_depth=true) -> uint32_t |
| | Submit a homogeneous material batch (same texture / texture_mode / blend).
|
| |