Unravel Engine C++ Reference
Loading...
Searching...
No Matches
emitter_desc.h
Go to the documentation of this file.
1#pragma once
2
3#include "particle_types.h"
4
5#include <base/basetypes.hpp>
6#include <bx/easing.h>
7#include <math/gradient.h>
8#include <math/math.h>
9
10namespace unravel
11{
12namespace ps_soa
13{
14
19{
20 float particles_per_second = 50.0f;
21 float emission_lifetime = 2.0f;
22 float start_delay = 0.0f;
23 bool loop = true;
25 math::vec3 shape_position{0.0f, 0.0f, 0.0f};
26 math::vec3 shape_scale{1.0f, 1.0f, 1.0f};
27
28 void reset();
29};
30
49
67
84
89{
90 bool playing = true;
91 bool paused = false;
92
93 void reset();
94};
95
113
114} // namespace ps_soa
115} // namespace unravel
blend_mode
Blend mode. Ordinals match legacy BlendMode.
texture_mode
Texture interpretation. Ordinals match legacy TextureMode.
simulation_space
Simulation space. Ordinals match legacy SimulationSpace.
spawn_location
Where particles spawn within the shape. Ordinals match legacy EmitterSpawnLocation.
emitter_feature
Feature bits baked from authoring desc for specialized update/render paths.
render_mode
Billboard / facing mode. Ordinals match legacy RenderMode.
Color / scale / speed-based appearance authoring.
math::gradient< math::color > color_by_speed_gradient
math::gradient< math::color > color_gradient
math::gradient< frange_t > scale_gradient
Full authoring description for an emitter (no transforms / runtime).
emitter_appearance_desc appearance
emitter_emission_desc emission
emitter_render_desc render
auto bake_features() const -> emitter_feature
Derive feature mask used to specialize update/render kernels.
emitter_motion_desc motion
emitter_playback_desc playback
Emission rate, shape, and lifetime cycle authoring.
Motion / forces / trajectory authoring.
math::gradient< frange_t > velocity_gradient
math::gradient< float > lifetime_by_emitter_speed_gradient
Playback gates (playing / paused).
Render / texture-sheet authoring (constant per emitter).