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:
authorClément Foucault <foucault.clem@gmail.com>2017-01-30 16:41:58 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-01-30 16:41:58 +0300
commit12bac207c7d31206dfca15088bc16587d639dddc (patch)
tree971c4736dbe8b03b3401669bfd9a39ba4d05cd8a
parent08675b94ef15b4ecb94ce0cefcbd4bba9cad60fa (diff)
Added scene.active_engine_settings
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py22
-rw-r--r--source/blender/draw/intern/draw_manager.c2
-rw-r--r--source/blender/makesrna/intern/rna_scene.c18
3 files changed, 31 insertions, 11 deletions
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index b1c68559d89..5f2c9939dc9 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -590,17 +590,17 @@ class RENDER_PT_clay(RenderButtonsPanel, Panel):
def draw(self, context):
layout = self.layout;
- # settings = context.scene.engine_settings
- # layout.template_icon_view(settings, "matcap_icon")
- # layout.prop(settings, "matcap_rotation")
- # layout.prop(settings, "matcap_hue")
- # layout.prop(settings, "matcap_saturation")
- # layout.prop(settings, "matcap_value")
- # layout.prop(settings, "ssao_factor_cavity")
- # layout.prop(settings, "ssao_factor_edge")
- # layout.prop(settings, "ssao_distance")
- # layout.prop(settings, "ssao_attenuation")
- # layout.prop(settings, "ssao_samples")
+ settings = context.scene.active_engine_settings
+ layout.template_icon_view(settings, "matcap_icon")
+ layout.prop(settings, "matcap_rotation")
+ layout.prop(settings, "matcap_hue")
+ layout.prop(settings, "matcap_saturation")
+ layout.prop(settings, "matcap_value")
+ layout.prop(settings, "ssao_factor_cavity")
+ layout.prop(settings, "ssao_factor_edge")
+ layout.prop(settings, "ssao_distance")
+ layout.prop(settings, "ssao_attenuation")
+ layout.prop(settings, "ssao_samples")
if __name__ == "__main__": # only for live edit.
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 26525954c23..683c0bd1786 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -905,6 +905,8 @@ void *DRW_render_settings_get(Scene *scene, const char *engine_name, void **runt
BLI_assert(false);
}
+ printf("DRW_render_settings_get %s\n", rs->name);
+
BLI_addtail(&scene->engines_settings, rs);
}
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 2ac8d317b9f..604a7589802 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -1885,6 +1885,19 @@ static StructRNA *rna_RenderEngineSettings_refine(PointerRNA *ptr)
return &RNA_RenderEngineSettings;
}
+static PointerRNA rna_RenderEngineSettings_active_get(PointerRNA *ptr)
+{
+ Scene *scene = (Scene *)ptr->data;
+ RenderEngineSettings *res;
+
+ /* Ensure settings exists */
+ DRW_render_settings_get(scene, scene->r.engine, NULL);
+
+ res = BLI_findstring(&scene->engines_settings, scene->r.engine, offsetof(RenderEngineSettings, name));
+
+ return rna_pointer_inherit_refine(ptr, &RNA_RenderEngineSettings, res);
+}
+
static void rna_RenderEngineSettings_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
Scene *sce = (Scene *)ptr->id.data;
@@ -8166,6 +8179,11 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "RenderEngineSettings");
RNA_def_property_ui_text(prop, "Render Engine Settings", "Engine specific render settings");
+ prop = RNA_def_property(srna, "active_engine_settings", PROP_POINTER, PROP_NONE);
+ RNA_def_property_struct_type(prop, "RenderEngineSettings");
+ RNA_def_property_pointer_funcs(prop, "rna_RenderEngineSettings_active_get", NULL, NULL, NULL);
+ RNA_def_property_ui_text(prop, "Active Render Engine Settings", "Active Engine specific render settings for this scene");
+
/* Safe Areas */
prop = RNA_def_property(srna, "safe_areas", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "safe_areas");