diff options
Diffstat (limited to 'intern/cycles/blender/blender_sync.h')
-rw-r--r-- | intern/cycles/blender/blender_sync.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 62fd1ac2351..ccf059d7704 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -50,6 +50,7 @@ class ViewLayer; class Shader; class ShaderGraph; class ShaderNode; +class TaskPool; class BlenderSync { public: @@ -145,23 +146,20 @@ class BlenderSync { bool use_particle_hair, bool show_lights, BlenderObjectCulling &culling, - bool *use_portal); + bool *use_portal, + TaskPool *geom_task_pool); + + bool sync_object_attributes(BL::DepsgraphObjectInstance &b_instance, Object *object); /* Volume */ - void sync_volume(BL::Object &b_ob, Volume *volume, const vector<Shader *> &used_shaders); + void sync_volume(BL::Object &b_ob, Volume *volume); /* Mesh */ - void sync_mesh(BL::Depsgraph b_depsgraph, - BL::Object b_ob, - Mesh *mesh, - const vector<Shader *> &used_shaders); + void sync_mesh(BL::Depsgraph b_depsgraph, BL::Object b_ob, Mesh *mesh); void sync_mesh_motion(BL::Depsgraph b_depsgraph, BL::Object b_ob, Mesh *mesh, int motion_step); /* Hair */ - void sync_hair(BL::Depsgraph b_depsgraph, - BL::Object b_ob, - Hair *hair, - const vector<Shader *> &used_shaders); + void sync_hair(BL::Depsgraph b_depsgraph, BL::Object b_ob, Hair *hair); void sync_hair_motion(BL::Depsgraph b_depsgraph, BL::Object b_ob, Hair *hair, int motion_step); void sync_hair(Hair *hair, BL::Object &b_ob, bool motion, int motion_step = 0); void sync_particle_hair( @@ -177,12 +175,15 @@ class BlenderSync { BL::Object &b_ob, BL::Object &b_ob_instance, bool object_updated, - bool use_particle_hair); + bool use_particle_hair, + TaskPool *task_pool); + void sync_geometry_motion(BL::Depsgraph &b_depsgraph, BL::Object &b_ob, Object *object, float motion_time, - bool use_particle_hair); + bool use_particle_hair, + TaskPool *task_pool); /* Light */ void sync_light(BL::Object &b_parent, @@ -206,7 +207,7 @@ class BlenderSync { void free_data_after_sync(BL::Depsgraph &b_depsgraph); /* util */ - void find_shader(BL::ID &id, vector<Shader *> &used_shaders, Shader *default_shader); + void find_shader(BL::ID &id, array<Node *> &used_shaders, Shader *default_shader); bool BKE_object_is_modified(BL::Object &b_ob); bool object_is_geometry(BL::Object &b_ob); bool object_is_light(BL::Object &b_ob); |