8#include <math/transform.hpp>
blend_mode
Blend mode. Ordinals match legacy BlendMode.
texture_mode
Texture interpretation. Ordinals match legacy TextureMode.
simulation_space
Simulation space. Ordinals match legacy SimulationSpace.
emitter_feature
Feature bits baked from authoring desc for specialized update/render paths.
render_mode
Billboard / facing mode. Ordinals match legacy RenderMode.
Storage for box vector values and wraps up common functionality.
Hot-loop constants baked from desc (CPU now, CB-shaped for GPU later).
math::mat4 local_to_world
frange_t size_by_speed_range
math::vec3 particle_scale_3d
float inv_color_by_speed_velocity_span
frange_t color_by_speed_velocity_range
float inv_size_by_speed_velocity_span
frange_t size_by_speed_velocity_range
math::vec2 tex_sheet_tiles
Mutable simulation bookkeeping owned by the soa emitter instance.
std::array< float, temporal_buffer_size > temporal_dts
uint32_t total_particles_spawned
std::array< math::vec3, temporal_buffer_size > temporal_positions
auto calculate_smoothed_emitter_speed(float max_speed) const -> float
static constexpr size_t temporal_buffer_size
void push_temporal_sample(const math::vec3 &position, float dt)
float start_delay_elapsed
float emission_time_accum