86 void set_center(
const glm::vec3& center);
92 void set_radius(
float radius);
98 void set_rate(
float rate);
104 void set_time_step(
float dt);
111 void set_falloff(
float falloff);
125 [[nodiscard]]
const std::string&
get_field()
const {
return m_field; }
127 void processing_function(
const std::shared_ptr<Buffer>& buffer)
override;
133 void on_volume_ready()
override;
141 static std::vector<FieldBinding> make_bindings(
const std::string& field);
150 glm::vec3 m_center { 0.0F };
151 float m_radius { 0.15F };
152 float m_rate { 1.0F };
153 float m_time_step { 1.0F / 60.0F };
154 float m_falloff { 1.0F };
155 float m_elapsed { 0.0F };