summaryrefslogtreecommitdiffstats
path: root/drivers/gles3/storage/particles_storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles3/storage/particles_storage.h')
-rw-r--r--drivers/gles3/storage/particles_storage.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gles3/storage/particles_storage.h b/drivers/gles3/storage/particles_storage.h
index 5146dc5329..d4c4b497ff 100644
--- a/drivers/gles3/storage/particles_storage.h
+++ b/drivers/gles3/storage/particles_storage.h
@@ -128,7 +128,7 @@ private:
float delta;
float particle_size;
- float pad0;
+ float amount_ratio;
float pad1;
float pad2;
@@ -138,6 +138,8 @@ private:
uint32_t frame;
float emission_transform[16];
+ float emitter_velocity[3];
+ float interp_to_end;
Attractor attractors[MAX_ATTRACTORS];
Collider colliders[MAX_COLLIDERS];
@@ -149,6 +151,7 @@ private:
double inactive_time = 0.0;
bool emitting = false;
bool one_shot = false;
+ float amount_ratio = 1.0;
int amount = 0;
double lifetime = 1.0;
double pre_process_time = 0.0;
@@ -229,6 +232,8 @@ private:
bool clear = true;
Transform3D emission_transform;
+ Vector3 emitter_velocity;
+ float interp_to_end;
HashSet<RID> collisions;
@@ -313,6 +318,7 @@ public:
virtual void particles_emit(RID p_particles, const Transform3D &p_transform, const Vector3 &p_velocity, const Color &p_color, const Color &p_custom, uint32_t p_emit_flags) override;
virtual void particles_set_emitting(RID p_particles, bool p_emitting) override;
virtual void particles_set_amount(RID p_particles, int p_amount) override;
+ virtual void particles_set_amount_ratio(RID p_particles, float p_amount_ratio) override;
virtual void particles_set_lifetime(RID p_particles, double p_lifetime) override;
virtual void particles_set_one_shot(RID p_particles, bool p_one_shot) override;
virtual void particles_set_pre_process_time(RID p_particles, double p_time) override;
@@ -347,6 +353,8 @@ public:
virtual AABB particles_get_aabb(RID p_particles) const override;
virtual void particles_set_emission_transform(RID p_particles, const Transform3D &p_transform) override;
+ virtual void particles_set_emitter_velocity(RID p_particles, const Vector3 &p_velocity) override;
+ virtual void particles_set_interp_to_end(RID p_particles, float p_interp) override;
virtual bool particles_get_emitting(RID p_particles) override;
virtual int particles_get_draw_passes(RID p_particles) const override;