diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-05-05 17:27:31 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-05-05 19:08:24 +0300 |
commit | 8d9c48415257eca370dad5c163f0fec06e31dd6b (patch) | |
tree | 1ddaf42a0c8d82bd99bbc8897592efd173b5cfc8 /source/blender/blenkernel/BKE_layer.h | |
parent | 741d848cf8ee2d6f682150fc965036f6185655a3 (diff) |
Implement overridable scene render settings
This add a new set of (possible) render settings that can be defined at
the scene level and overridable at the scene layer level.
Once we get workspaces we can either add workspace inbetween scene and
scene layer evaluation. Or to replace layer settings, to avoid extra
confusion to users.
An example of this setting is "samples", as implemented now for the clay
engine.
Diffstat (limited to 'source/blender/blenkernel/BKE_layer.h')
-rw-r--r-- | source/blender/blenkernel/BKE_layer.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index c5a2eb8351d..b6a8cb04ec8 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -108,16 +108,26 @@ void BKE_layer_sync_object_unlink(const struct Scene *scene, struct SceneCollect void BKE_collection_override_datablock_add(struct LayerCollection *lc, const char *data_path, struct ID *id); /* engine settings */ -typedef void (*CollectionEngineSettingsCB)(struct RenderEngine *engine, struct IDProperty *props); -struct IDProperty *BKE_layer_collection_engine_get(struct LayerCollection *lc, const int type, const char *engine_name); -struct IDProperty *BKE_object_collection_engine_get(struct Object *ob, const int type, const char *engine_name); -struct IDProperty *BKE_scene_collection_engine_get(struct Scene *scene, const int type, const char *engine_name); -void BKE_layer_collection_engine_settings_callback_register(struct Main *bmain, const char *engine_name, CollectionEngineSettingsCB func); +typedef void (*EngineSettingsCB)(struct RenderEngine *engine, struct IDProperty *props); + +struct IDProperty *BKE_layer_collection_engine_evaluated_get(struct Object *ob, const int type, const char *engine_name); +struct IDProperty *BKE_layer_collection_engine_collection_get(struct LayerCollection *lc, const int type, const char *engine_name); +struct IDProperty *BKE_layer_collection_engine_scene_get(struct Scene *scene, const int type, const char *engine_name); +void BKE_layer_collection_engine_settings_callback_register(struct Main *bmain, const char *engine_name, EngineSettingsCB func); void BKE_layer_collection_engine_settings_callback_free(void); void BKE_layer_collection_engine_settings_create(struct IDProperty *root); void BKE_layer_collection_engine_settings_validate_scene(struct Scene *scene); void BKE_layer_collection_engine_settings_validate_collection(struct LayerCollection *lc); +struct IDProperty *BKE_scene_layer_engine_evaluated_get(struct SceneLayer *sl, const int type, const char *engine_name); +struct IDProperty *BKE_scene_layer_engine_layer_get(struct SceneLayer *sl, const int type, const char *engine_name); +struct IDProperty *BKE_scene_layer_engine_scene_get(struct Scene *scene, const int type, const char *engine_name); +void BKE_scene_layer_engine_settings_callback_register(struct Main *bmain, const char *engine_name, EngineSettingsCB func); +void BKE_scene_layer_engine_settings_callback_free(void); +void BKE_scene_layer_engine_settings_validate_scene(struct Scene *scene); +void BKE_scene_layer_engine_settings_validate_layer(struct SceneLayer *sl); +void BKE_scene_layer_engine_settings_create(struct IDProperty *root); + void BKE_collection_engine_property_add_float(struct IDProperty *props, const char *name, float value); void BKE_collection_engine_property_add_int(struct IDProperty *props, const char *name, int value); void BKE_collection_engine_property_add_bool(struct IDProperty *props, const char *name, bool value); |