diff options
Diffstat (limited to 'drivers/gles3/storage/particles_storage.h')
| -rw-r--r-- | drivers/gles3/storage/particles_storage.h | 10 |
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; |
