diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-01-30 16:41:58 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-01-30 16:41:58 +0300 |
commit | 12bac207c7d31206dfca15088bc16587d639dddc (patch) | |
tree | 971c4736dbe8b03b3401669bfd9a39ba4d05cd8a | |
parent | 08675b94ef15b4ecb94ce0cefcbd4bba9cad60fa (diff) |
Added scene.active_engine_settings
-rw-r--r-- | release/scripts/startup/bl_ui/properties_render.py | 22 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 18 |
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"); |