diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-05-16 20:34:24 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-05-17 00:13:28 +0300 |
commit | 15c2801aac333341f0993f53a714a66f9f2384b2 (patch) | |
tree | 9ae8f85094dc3128d65225b6e6419b6280379710 /source/blender/draw/engines/eevee/eevee_screen_raytrace.c | |
parent | d8dca3c3b05d83b3771b62def041b342fc7d6e93 (diff) |
Move EEVEE properties into scene
We handle doversion for the scene properties, but not for the
view layer overrides.
Overrides will be implemented in a different way via dynamic overrides.
For now this data is completely lost.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_screen_raytrace.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_screen_raytrace.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c index 87395f94fbb..74760b9c828 100644 --- a/source/blender/draw/engines/eevee/eevee_screen_raytrace.c +++ b/source/blender/draw/engines/eevee/eevee_screen_raytrace.c @@ -30,6 +30,8 @@ #include "BLI_dynstr.h" #include "BLI_string_utils.h" +#include "DEG_depsgraph_query.h" + #include "eevee_private.h" #include "GPU_texture.h" @@ -111,16 +113,14 @@ int EEVEE_screen_raytrace_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) const float *viewport_size = DRW_viewport_size_get(); const DRWContextState *draw_ctx = DRW_context_state_get(); - ViewLayer *view_layer = draw_ctx->view_layer; - IDProperty *props = BKE_view_layer_engine_evaluated_get(view_layer, - RE_engine_id_BLENDER_EEVEE); + const Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph); /* Compute pixel size, (shared with contact shadows) */ copy_v2_v2(common_data->ssr_pixelsize, viewport_size); invert_v2(common_data->ssr_pixelsize); - if (BKE_collection_engine_property_value_get_bool(props, "ssr_enable")) { - const bool use_refraction = BKE_collection_engine_property_value_get_bool(props, "ssr_refraction"); + if (scene_eval->eevee.flag & SCE_EEVEE_SSR_ENABLED) { + const bool use_refraction = (scene_eval->eevee.flag & SCE_EEVEE_SSR_REFRACTION) != 0; if (use_refraction) { /* TODO: Opti: Could be shared. */ @@ -132,12 +132,12 @@ int EEVEE_screen_raytrace_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata) }); } - effects->reflection_trace_full = !BKE_collection_engine_property_value_get_bool(props, "ssr_halfres"); - common_data->ssr_thickness = BKE_collection_engine_property_value_get_float(props, "ssr_thickness"); - common_data->ssr_border_fac = BKE_collection_engine_property_value_get_float(props, "ssr_border_fade"); - common_data->ssr_firefly_fac = BKE_collection_engine_property_value_get_float(props, "ssr_firefly_fac"); - common_data->ssr_max_roughness = BKE_collection_engine_property_value_get_float(props, "ssr_max_roughness"); - common_data->ssr_quality = 1.0f - 0.95f * BKE_collection_engine_property_value_get_float(props, "ssr_quality"); + effects->reflection_trace_full = (scene_eval->eevee.flag & SCE_EEVEE_SSR_HALF_RESOLUTION) == 0; + common_data->ssr_thickness = scene_eval->eevee.ssr_thickness; + common_data->ssr_border_fac = scene_eval->eevee.ssr_border_fade; + common_data->ssr_firefly_fac = scene_eval->eevee.ssr_firefly_fac; + common_data->ssr_max_roughness = scene_eval->eevee.ssr_max_roughness; + common_data->ssr_quality = 1.0f - 0.95f * scene_eval->eevee.ssr_quality; common_data->ssr_brdf_bias = 0.1f + common_data->ssr_quality * 0.6f; /* Range [0.1, 0.7]. */ if (common_data->ssr_firefly_fac < 1e-8f) { |