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:
authorDalai Felinto <dfelinto@gmail.com>2017-02-07 18:54:09 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-02-07 18:54:09 +0300
commit6432c8cc002cb7391e2ac5eae3c300fed28fc422 (patch)
tree10005610d94a4e23b305d1661d9be72795c7f563 /source/blender/blenkernel/BKE_layer.h
parent6bf9c8ac8918a6656c20cca2c08f20b38e90980c (diff)
Layers: get/update CollectionEngineSettings (depsgraph placeholder)
Every time: * A collection settings is set * A collection visibility changes * An object is added/removed/ ... We need to recalculate the "accumulated" CollectionEngineSettings that the render engine should use for an object. This is to be handled by the depsgraph. Meanwhile this code should allow us to start using those settings in the render engines. Note: We are storing this in the objects, which means we can only have one active calculated option every time. This is intended to get the conversation with the Depsgraph department going.
Diffstat (limited to 'source/blender/blenkernel/BKE_layer.h')
-rw-r--r--source/blender/blenkernel/BKE_layer.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index de8a577d272..a1eec8653ad 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -71,7 +71,9 @@ void BKE_scene_layer_base_select(struct SceneLayer *sl, struct Base *selbase);
void BKE_scene_layer_base_flag_recalculate(struct SceneLayer *sl);
void BKE_scene_layer_engine_settings_recalculate(struct SceneLayer *sl);
-void BKE_scene_layer_engine_settings_update(struct SceneLayer *sl);
+void BKE_scene_layer_engine_settings_object_recalculate(struct SceneLayer *sl, struct Object *ob);
+void BKE_scene_layer_engine_settings_collection_recalculate(struct SceneLayer *sl, struct LayerCollection *lc);
+void BKE_scene_layer_engine_settings_update(struct SceneLayer *sl, const char *engine_name);
void BKE_layer_collection_free(struct SceneLayer *sl, struct LayerCollection *lc);
@@ -103,8 +105,9 @@ typedef void (*CollectionEngineSettingsCB)(struct RenderEngine *engine, struct C
struct CollectionEngineSettings *BKE_layer_collection_engine_get(struct LayerCollection *lc, const char *engine_name);
void BKE_layer_collection_engine_settings_callback_register(struct Main *bmain, const char *engine_name, CollectionEngineSettingsCB func);
void BKE_layer_collection_engine_settings_callback_free(void);
-void BKE_layer_collection_engine_settings_create(struct ListBase *lb, const char *engine_name);
-void BKE_layer_collection_engine_settings_free(struct ListBase *lb);
+
+struct CollectionEngineSettings *BKE_layer_collection_engine_settings_create(const char *engine_name);
+void BKE_layer_collection_engine_settings_free(struct CollectionEngineSettings *ces);
void BKE_collection_engine_property_add_float(struct CollectionEngineSettings *ces, const char *name, float value);
void BKE_collection_engine_property_add_int(struct CollectionEngineSettings *ces, const char *name, int value);
@@ -195,10 +198,10 @@ void BKE_visible_bases_Iterator_end(Iterator *iter);
}
/* temporary hacky solution waiting for final depsgraph evaluation */
-#define DEG_OBJECT_ITER(sl_, ob_) \
+#define DEG_OBJECT_ITER(sl_, engine_name_, ob_) \
{ \
/* temporary solution, waiting for depsgraph update */ \
- BKE_scene_layer_engine_settings_update(sl); \
+ BKE_scene_layer_engine_settings_update(sl, engine_name_); \
\
/* flush all the data to objects*/ \
Base *base_; \