diff options
author | Joseph Eagar <joeedh@gmail.com> | 2022-10-15 09:22:01 +0300 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2022-10-15 09:22:01 +0300 |
commit | aa1f2f243ddb7ed340856ddf97ec650407ad386b (patch) | |
tree | 471c95b234e7764ff7368e480308f21dc5bb0ca7 /intern/cycles/blender/sync.h | |
parent | 278a2137f9a5989f8e9ebb30bbfb761608f0de14 (diff) | |
parent | ebe9804cfa421b746148f3067797f16e7f460551 (diff) |
Merge branch 'master' into temp-pbvh-split
Diffstat (limited to 'intern/cycles/blender/sync.h')
-rw-r--r-- | intern/cycles/blender/sync.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/intern/cycles/blender/sync.h b/intern/cycles/blender/sync.h index ae6c2420e55..fbb17bab0c8 100644 --- a/intern/cycles/blender/sync.h +++ b/intern/cycles/blender/sync.h @@ -120,6 +120,11 @@ class BlenderSync { void sync_shaders(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d, bool update_all); void sync_nodes(Shader *shader, BL::ShaderNodeTree &b_ntree); + bool scene_attr_needs_recalc(Shader *shader, BL::Depsgraph &b_depsgraph); + void resolve_view_layer_attributes(Shader *shader, + ShaderGraph *graph, + BL::Depsgraph &b_depsgraph); + /* Object */ Object *sync_object(BL::Depsgraph &b_depsgraph, BL::ViewLayer &b_view_layer, @@ -207,13 +212,16 @@ class BlenderSync { bool object_is_geometry(BObjectInfo &b_ob_info); bool object_can_have_geometry(BL::Object &b_ob); bool object_is_light(BL::Object &b_ob); + bool object_is_camera(BL::Object &b_ob); /* variables */ BL::RenderEngine b_engine; BL::BlendData b_data; BL::Scene b_scene; - id_map<void *, Shader> shader_map; + enum ShaderFlags { SHADER_WITH_LAYER_ATTRS }; + + id_map<void *, Shader, ShaderFlags> shader_map; id_map<ObjectKey, Object> object_map; id_map<void *, Procedural> procedural_map; id_map<GeometryKey, Geometry> geometry_map; |