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_depth_of_field.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_depth_of_field.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_depth_of_field.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_depth_of_field.c b/source/blender/draw/engines/eevee/eevee_depth_of_field.c index 1ba9b5f9de4..c275a5005ff 100644 --- a/source/blender/draw/engines/eevee/eevee_depth_of_field.c +++ b/source/blender/draw/engines/eevee/eevee_depth_of_field.c @@ -82,11 +82,9 @@ int EEVEE_depth_of_field_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *v EEVEE_EffectsInfo *effects = stl->effects; 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); - if (BKE_collection_engine_property_value_get_bool(props, "dof_enable")) { - Scene *scene = draw_ctx->scene; + if (scene_eval->flag & SCE_EEVEE_DOF_ENABLED) { RegionView3D *rv3d = draw_ctx->rv3d; if (!e_data.dof_downsample_sh) { @@ -141,7 +139,7 @@ int EEVEE_depth_of_field_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *v * unit.scale_length is how many meters per blender unit we have. We want to convert to blender units though * because the shader reads coordinates in world space, which is in blender units. * Note however that focus_distance is already in blender units and shall not be scaled here (see T48157). */ - float scale = (scene->unit.system) ? scene->unit.scale_length : 1.0f; + float scale = (scene_eval->unit.system) ? scene_eval->unit.scale_length : 1.0f; float scale_camera = 0.001f / scale; /* we want radius here for the aperture number */ float aperture = 0.5f * scale_camera * focal_len / fstop; @@ -157,7 +155,7 @@ int EEVEE_depth_of_field_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *v effects->dof_params[2] = viewport_size[0] / sensor_scaled; effects->dof_bokeh[0] = rotation; effects->dof_bokeh[1] = ratio; - effects->dof_bokeh[2] = BKE_collection_engine_property_value_get_float(props, "bokeh_max_size"); + effects->dof_bokeh[2] = scene_eval->eevee.bokeh_max_size; /* Precompute values to save instructions in fragment shader. */ effects->dof_bokeh_sides[0] = blades; |