diff options
author | chai <chaifix@163.com> | 2018-10-24 08:20:13 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-10-24 08:20:13 +0800 |
commit | 280c39c65f47b4d1395d0dfe583a67a058804a27 (patch) | |
tree | e03b8699abed3fdaf8e3a2d2490b08f1ca3702dd /src/libjin/Graphics/particle/je_particle.h | |
parent | d74e03063095d43c654fa52c3868f7ef8fce69f1 (diff) |
*粒子系统
Diffstat (limited to 'src/libjin/Graphics/particle/je_particle.h')
-rw-r--r-- | src/libjin/Graphics/particle/je_particle.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/libjin/Graphics/particle/je_particle.h b/src/libjin/Graphics/particle/je_particle.h index 474e15b..cb176bb 100644 --- a/src/libjin/Graphics/particle/je_particle.h +++ b/src/libjin/Graphics/particle/je_particle.h @@ -10,6 +10,77 @@ namespace JinEngine class ParticleSystem; + struct LifeTimeDef + { + bool enableRandom = false; + union + { + struct + { + float min, max; + } random; + float life; + } life; + }; + + struct SpeedOverTimeDef + { + bool enable = false; + bool enableRandom = false; + union + { + struct + { + Math::Vector2<float> startFloor; + Math::Vector2<float> startCeil; + Math::Vector2<float> endFloor; + Math::Vector2<float> endCeil; + } random; + struct + { + Math::Vector2<float> start; + Math::Vector2<float> end; + } speed; + } speed; + }; + + struct SizeOverTimeDef + { + bool enable = false; + bool enableRandom = false; + union { + struct { + float startFloor = 1; + float startCeil = 1; + float endFloor = 1; + float endCeil = 1; + } random; + struct { + float start = 1; + float end = 1; + } size; + } size; + }; + + struct ColorOverTime + { + bool enable = false; + Color colorStart = Color::WHITE; + Color colorEnd = Color::WHITE; + }; + + /// + /// + /// + struct ParticleDef + { + LifeTimeDef lifeTimeDef; ///< + // Optional definitions. + SpeedOverTimeDef speedOverTimeDef; ///< + SizeOverTimeDef sizeOverTimeDef; ///< + ColorOverTime colorOverTimeDef; ///< + }; + /// /// A single particle contains various properties of particle, such as position, accelaration, color and /// other attributes changed over time. |