aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particle/je_particle.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-24 08:20:13 +0800
committerchai <chaifix@163.com>2018-10-24 08:20:13 +0800
commit280c39c65f47b4d1395d0dfe583a67a058804a27 (patch)
treee03b8699abed3fdaf8e3a2d2490b08f1ca3702dd /src/libjin/Graphics/particle/je_particle.h
parentd74e03063095d43c654fa52c3868f7ef8fce69f1 (diff)
*粒子系统
Diffstat (limited to 'src/libjin/Graphics/particle/je_particle.h')
-rw-r--r--src/libjin/Graphics/particle/je_particle.h71
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.