Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-07-19 14:58:49 +0300
committerJacques Lucke <jacques@blender.org>2020-07-19 14:58:58 +0300
commit5063820c9b7fdc499c0aa16ca850541101ffda09 (patch)
tree45541e8148069cabdadfd9ac4dc00558498e73c0 /source/blender/simulation/intern/particle_function.cc
parent8c90910dcc3ac56ecaa3f0d0ed1a43a423ff687f (diff)
Particles: Emit particles over time
This adds a basic internal emitter for every particle simulation. The emitter cannot be controlled by the user yet. That will come next.
Diffstat (limited to 'source/blender/simulation/intern/particle_function.cc')
-rw-r--r--source/blender/simulation/intern/particle_function.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/simulation/intern/particle_function.cc b/source/blender/simulation/intern/particle_function.cc
index 7a0c9ccdb13..3788fd17e36 100644
--- a/source/blender/simulation/intern/particle_function.cc
+++ b/source/blender/simulation/intern/particle_function.cc
@@ -14,7 +14,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include "SIM_particle_function.hh"
+#include "particle_function.hh"
namespace blender::sim {
@@ -49,12 +49,11 @@ ParticleFunction::ParticleFunction(const fn::MultiFunction *global_fn,
}
}
-ParticleFunctionEvaluator::ParticleFunctionEvaluator(const ParticleFunction &particle_fn,
- IndexMask mask,
- fn::AttributesRef particle_attributes)
+ParticleFunctionEvaluator::ParticleFunctionEvaluator(
+ const ParticleFunction &particle_fn, const ParticleChunkContext &particle_chunk_context)
: particle_fn_(particle_fn),
- mask_(mask),
- particle_attributes_(particle_attributes),
+ particle_chunk_context_(particle_chunk_context),
+ mask_(particle_chunk_context_.index_mask()),
outputs_(particle_fn_.output_types_.size(), nullptr)
{
}
@@ -112,7 +111,7 @@ void ParticleFunctionEvaluator::compute_globals()
/* Add input parameters. */
for (const ParticleFunctionInput *input : particle_fn_.global_inputs_) {
- input->add_input(particle_attributes_, params, resources_);
+ input->add_input(particle_chunk_context_.attributes(), params, resources_);
}
/* Add output parameters. */
@@ -139,7 +138,7 @@ void ParticleFunctionEvaluator::compute_per_particle()
/* Add input parameters. */
for (const ParticleFunctionInput *input : particle_fn_.per_particle_inputs_) {
- input->add_input(particle_attributes_, params, resources_);
+ input->add_input(particle_chunk_context_.attributes(), params, resources_);
}
/* Add output parameters. */