diff options
author | Jacques Lucke <jacques@blender.org> | 2020-07-24 14:37:55 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-07-24 14:37:55 +0300 |
commit | 74fcb4d4c2f3c72747119a672c7e322f6f910478 (patch) | |
tree | dc3fc78988e74bad920a6dbb739bdf8fdd80081b /source/blender/simulation/intern/particle_function.cc | |
parent | f495b583bee5d43755c19bea4704e40d0e0f8a54 (diff) |
Particles: initial particle birth action
A particle action is some function that is triggered by some event.
Right now, users cannot control this. There is just a
randomize-velocity on-birth action. So the direction of spawned
particles is slightly randomized now.
This also adds a new integer attribute called "Hash" which is
useful for a number of things. Mainly for generating random numbers
for a specific particle. The ID of a particle is not necessarily a good source
of randomness.
Diffstat (limited to 'source/blender/simulation/intern/particle_function.cc')
-rw-r--r-- | source/blender/simulation/intern/particle_function.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/source/blender/simulation/intern/particle_function.cc b/source/blender/simulation/intern/particle_function.cc index 935ef7983d9..1b259938e34 100644 --- a/source/blender/simulation/intern/particle_function.cc +++ b/source/blender/simulation/intern/particle_function.cc @@ -56,12 +56,11 @@ ParticleFunctionEvaluator::ParticleFunctionEvaluator( : particle_fn_(particle_fn), solve_context_(solve_context), particle_chunk_context_(particle_chunk_context), - mask_(particle_chunk_context_.index_mask()), + mask_(particle_chunk_context_.index_mask), outputs_(particle_fn_.output_types_.size(), nullptr) { - global_context_.add_global_context("PersistentDataHandleMap", &solve_context_.handle_map()); - per_particle_context_.add_global_context("PersistentDataHandleMap", - &solve_context_.handle_map()); + global_context_.add_global_context("PersistentDataHandleMap", &solve_context_.handle_map); + per_particle_context_.add_global_context("PersistentDataHandleMap", &solve_context_.handle_map); } ParticleFunctionEvaluator::~ParticleFunctionEvaluator() @@ -117,7 +116,7 @@ void ParticleFunctionEvaluator::compute_globals() /* Add input parameters. */ for (const ParticleFunctionInput *input : particle_fn_.global_inputs_) { - input->add_input(particle_chunk_context_.attributes(), params, resources_); + input->add_input(particle_chunk_context_.attributes, params, resources_); } /* Add output parameters. */ @@ -144,7 +143,7 @@ void ParticleFunctionEvaluator::compute_per_particle() /* Add input parameters. */ for (const ParticleFunctionInput *input : particle_fn_.per_particle_inputs_) { - input->add_input(particle_chunk_context_.attributes(), params, resources_); + input->add_input(particle_chunk_context_.attributes, params, resources_); } /* Add output parameters. */ |