Commit: 1159d8ccc9649fe1da7cfab006c19843e19eb61d
Author: Clément Foucault
Date: Thu Jun 22 02:30:20 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB1159d8ccc9649fe1da7cfab006c19843e19eb61d
Eevee: Ambient Occlusion: Add UI properties.
===================================================================
M release/scripts/startup/bl_ui/properties_render.py
M release/scripts/startup/bl_ui/properties_render_layer.py
M source/blender/draw/engines/eevee/eevee_engine.c
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_render.py
b/release/scripts/startup/bl_ui/properties_render.py
index ad210498126..bd599bc0cb4 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -631,6 +631,7 @@ class
RENDER_PT_eevee_poststack_settings(RenderButtonsPanel, Panel):
props = scene.layer_properties['BLENDER_EEVEE']
col = layout.column()
+ col.prop(props, "gtao_enable")
col.prop(props, "motion_blur_enable")
col.prop(props, "dof_enable")
col.prop(props, "bloom_enable")
@@ -652,6 +653,13 @@ class
RENDER_PT_eevee_postprocess_settings(RenderButtonsPanel, Panel):
col = layout.column()
+ col.label("Ambient Occlusion:")
+ col.prop(props, "gtao_use_bent_normals")
+ col.prop(props, "gtao_samples")
+ col.prop(props, "gtao_distance")
+ col.prop(props, "gtao_factor")
+ col.separator()
+
col.label("Motion Blur:")
col.prop(props, "motion_blur_samples")
col.prop(props, "motion_blur_shutter")
diff --git a/release/scripts/startup/bl_ui/properties_render_layer.py
b/release/scripts/startup/bl_ui/properties_render_layer.py
index fb52fdf5fa0..4de48f00b04 100644
--- a/release/scripts/startup/bl_ui/properties_render_layer.py
+++ b/release/scripts/startup/bl_ui/properties_render_layer.py
@@ -167,6 +167,7 @@ class
RENDERLAYER_PT_eevee_poststack_settings(RenderLayerButtonsPanel, Panel):
layer_props = layer.engine_overrides['BLENDER_EEVEE']
col = layout.column()
+ col.template_override_property(layer_props, scene_props, "gtao_enable")
col.template_override_property(layer_props, scene_props,
"motion_blur_enable")
col.template_override_property(layer_props, scene_props, "dof_enable")
col.template_override_property(layer_props, scene_props,
"bloom_enable")
@@ -189,6 +190,13 @@ class
RENDERLAYER_PT_eevee_postprocess_settings(RenderLayerButtonsPanel, Panel):
layer_props = layer.engine_overrides['BLENDER_EEVEE']
col = layout.column()
+ col.label("Ambient Occlusion:")
+ col.template_override_property(layer_props, scene_props,
"gtao_use_bent_normals")
+ col.template_override_property(layer_props, scene_props,
"gtao_samples")
+ col.template_override_property(layer_props, scene_props,
"gtao_distance")
+ col.template_override_property(layer_props, scene_props, "gtao_factor")
+ col.separator()
+
col.label("Motion Blur:")
col.template_override_property(layer_props, scene_props,
"motion_blur_samples")
col.template_override_property(layer_props, scene_props,
"motion_blur_shutter")
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c
b/source/blender/draw/engines/eevee/eevee_engine.c
index a125bb97a91..8d3cf5ea077 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -189,6 +189,12 @@ static void EEVEE_scene_layer_settings_create(RenderEngine
*UNUSED(engine), IDPr
props->type == IDP_GROUP &&
props->subtype == IDP_GROUP_SUB_ENGINE_RENDER);
+ BKE_collection_engine_property_add_bool(props, "gtao_enable", false);
+ BKE_collection_engine_property_add_bool(props, "gtao_use_bent_normals",
true);
+ BKE_collection_engine_property_add_float(props, "gtao_distance", 0.2f);
+ BKE_collection_engine_property_add_float(props, "gtao_factor", 1.0f);
+ BKE_collection_engine_property_add_int(props, "gtao_samples", 2);
+
BKE_collection_engine_property_add_bool(props, "dof_enable", false);
BKE_collection_engine_property_add_float(props, "bokeh_max_size",
100.0f);
BKE_collection_engine_property_add_float(props, "bokeh_threshold",
1.0f);
diff --git a/source/blender/makesrna/intern/rna_scene.c
b/source/blender/makesrna/intern/rna_scene.c
index b800cb90d8c..17d85890a0b 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2588,6 +2588,11 @@
RNA_LAYER_ENGINE_CLAY_GET_SET_FLOAT(hair_brightness_randomness)
/* eevee engine */
/* SceneLayer settings. */
+RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(gtao_enable)
+RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(gtao_use_bent_normals)
+RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(gtao_factor)
+RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(gtao_distance)
+RNA_LAYER_ENGINE_EEVEE_GET_SET_INT(gtao_samples)
RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(dof_enable)
RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(bokeh_max_size)
RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(bokeh_threshold)
@@ -6152,6 +6157,46 @@ static void
rna_def_scene_layer_engine_settings_eevee(BlenderRNA *brna)
RNA_define_verify_sdna(0); /* not in sdna */
/* see RNA_LAYER_ENGINE_GET_SET macro */
+
+ /* Ambient Occlusion */
+ prop = RNA_def_property(srna, "gtao_enable", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_funcs(prop,
"rna_LayerEngineSettings_Eevee_gtao_enable_get",
+
"rna_LayerEngineSettings_Eevee_gtao_enable_set");
+ RNA_def_property_ui_text(prop, "Ambient Occlusion", "Enable ambient
occlusion to simulate medium scale indirect shadowing");
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT,
"rna_SceneLayerEngineSettings_update");
+
+ prop = RNA_def_property(srna, "gtao_use_bent_normals", PROP_BOOLEAN,
PROP_NONE);
+ RNA_def_property_boolean_funcs(prop,
"rna_LayerEngineSettings_Eevee_gtao_use_bent_normals_get",
+
"rna_LayerEngineSettings_Eevee_gtao_use_bent_normals_set");
+ RNA_def_property_ui_text(prop, "Bent Normals", "Compute main non
occluded direction to sample the environment");
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT,
"rna_SceneLayerEngineSettings_update");
+
+ prop = RNA_def_property(srna, "gtao_factor", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_funcs(prop,
"rna_LayerEngineSettings_Eevee_gtao_factor_get",
"rna_LayerEngineSettings_Eevee_gtao_factor_set", NULL);
+ RNA_def_property_ui_text(prop, "Factor", "Factor for ambient occlusion
blending");
+ RNA_def_property_range(prop, 0, FLT_MAX);
+ RNA_def_property_ui_range(prop, 0.0, 1.0, 0.1, 2);
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT,
"rna_LayerCollectionEngineSettings_update");
+
+ prop = RNA_def_property(srna, "gtao_distance", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_funcs(prop,
"rna_LayerEngineSettings_Eevee_gtao_distance_get",
"rna_LayerEngineSettings_Eevee_gtao_distance_set", NULL);
+ RNA_def_property_ui_text(prop, "Distance", "Distance of object that
contribute to the ambient occlusion effect");
+ RNA_def_property_range(prop, 0.0f, 100000.0f);
+ RNA_def_property_ui_range(prop, 0.0f, 100.0f, 1, 3);
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT,
"rna_LayerCollectionEngineSettings_update");
+
+ prop = RNA_def_property(srna, "gtao_samples", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_funcs(prop,
"rna_LayerEngineSettings_Eevee_gtao_samples_get",
+
"rna_LayerEngineSettings_Eevee_gtao_samples_set", NULL);
+ RNA_def_property_ui_text(prop, "Samples", "Number of samples to take to
compute occlusion");
+ RNA_def_property_range(prop, 2, 32);
+ RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT,
"rna_SceneLayerEngineSettings_update");
+
/* Depth of Field */
prop = RNA_def_property(srna, "dof_enable", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop,
"rna_LayerEngineSettings_Eevee_dof_enable_get",
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs