diff options
author | Julian Eisel <julian@blender.org> | 2022-11-10 15:17:42 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2022-11-10 15:17:42 +0300 |
commit | 7246c387435769a169ac24c91434c615df6434b4 (patch) | |
tree | 61842e3e0ce85e80720fdd7476d44d2e629f59fd /intern/cycles/blender/sync.h | |
parent | c5f55d17096d373791363e46004176e3f7f7ae52 (diff) | |
parent | 0b4bd3ddc016298e868169a541cf6c132b10c587 (diff) |
Merge branch 'master' into asset-browser-grid-viewasset-browser-grid-view
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; |