Commit: 97c482ca427fcf1f174e31eeb2c6010ffd483f89 Author: Omar Emara Date: Mon Jan 31 20:06:04 2022 +0200 Branches: viewport-compositor https://developer.blender.org/rB97c482ca427fcf1f174e31eeb2c6010ffd483f89
Merge branch 'eevee-rewrite' into viewport-compositor =================================================================== =================================================================== diff --cc source/blender/blenkernel/BKE_colortools.h index 410a1bacdaf,5ded49106da..67a98e373bc --- a/source/blender/blenkernel/BKE_colortools.h +++ b/source/blender/blenkernel/BKE_colortools.h @@@ -97,18 -142,14 +142,22 @@@ void BKE_curvemapping_evaluate_premulRG float vecout[3], const float vecin[3]); bool BKE_curvemapping_RGBA_does_something(const struct CurveMapping *cumap); + void BKE_curvemapping_table_F(const struct CurveMapping *cumap, float **array, int *size); void BKE_curvemapping_table_RGBA(const struct CurveMapping *cumap, float **array, int *size); +void BKE_curvemapping_get_range_minimums(const struct CurveMapping *curve_mapping, + float minimums[4]); +void BKE_curvemapping_compute_range_dividers(const struct CurveMapping *curve_mapping, + float dividers[4]); +void BKE_curvemapping_compute_slopes(const struct CurveMapping *curve_mapping, + float start_slopes[4], + float end_slopes[4]); +bool BKE_curvemapping_is_map_identity(const struct CurveMapping *curve_mapping, int index); - /* non-const, these modify the curve */ - void BKE_curvemapping_premultiply(struct CurveMapping *cumap, int restore); + /** + * Call when you do images etc, needs restore too. also verifies tables. + * non-const (these modify the curve). + */ + void BKE_curvemapping_premultiply(struct CurveMapping *cumap, bool restore); void BKE_curvemapping_blend_write(struct BlendWriter *writer, const struct CurveMapping *cumap); void BKE_curvemapping_curves_blend_write(struct BlendWriter *writer, diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc index a54d6149cde,74948a336e9..46750cfe9e7 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc @@@ -73,14 -72,7 +73,15 @@@ void DepsgraphRelationBuilder::build_sc if (scene->nodetree == nullptr) { return; } + build_nodetree(scene->nodetree); + + OperationKey scene_key(&scene->id, NodeType::SHADING, OperationCode::COMPOSITOR_EVAL); - OperationKey ntree_key(&scene->nodetree->id, NodeType::SHADING, OperationCode::MATERIAL_UPDATE); ++ OperationKey ntree_key( ++ &scene->nodetree->id, NodeType::NTREE_OUTPUT, OperationCode::NTREE_OUTPUT); + add_relation(ntree_key, scene_key, "Compositor's NTree"); + + build_nested_nodetree(&scene->id, scene->nodetree); } } // namespace blender::deg diff --cc source/blender/draw/CMakeLists.txt index b64022d54a9,c71f3ee6f8b..3374181bc16 --- a/source/blender/draw/CMakeLists.txt +++ b/source/blender/draw/CMakeLists.txt @@@ -106,16 -128,16 +128,18 @@@ set(SR intern/draw_manager_text.c intern/draw_manager_texture.c intern/draw_select_buffer.c - intern/draw_texture_pool.cc intern/draw_shader.c + intern/draw_texture_pool.cc intern/draw_view.c + intern/draw_view_data.cc + intern/smaa_textures.c engines/basic/basic_engine.c + engines/basic/basic_shader.c + engines/compositor/compositor_engine.cc + engines/compositor/compositor_shader.cc - engines/image/image_engine.c - engines/image/image_shader.c + engines/image/image_engine.cc + engines/image/image_shader.cc engines/eevee/eevee_camera.cc - engines/eevee/eevee_culling.cc engines/eevee/eevee_depth_of_field.cc engines/eevee/eevee_engine.c engines/eevee/eevee_engine.cc @@@ -212,8 -240,7 +242,9 @@@ intern/mesh_extractors/extract_mesh.h intern/smaa_textures.h engines/basic/basic_engine.h + engines/basic/basic_private.h + engines/compositor/compositor_engine.h + engines/compositor/compositor_shader.hh engines/eevee/eevee_engine.h engines/eevee/eevee_lightcache.h engines/eevee/eevee_camera.hh @@@ -239,261 -270,327 +274,331 @@@ set(LI bf_windowmanager ) - data_to_c_simple(engines/compositor/shaders/compositor_frag.glsl SRC) - data_to_c_simple(engines/compositor/shaders/compositor_lib.glsl SRC) - data_to_c_simple(engines/compositor/shaders/compositor_nodetree_eval_lib.glsl SRC) - - data_to_c_simple(engines/eevee/shaders/eevee_bsdf_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_bsdf_microfacet_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_bsdf_sampling_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_bsdf_stubs_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_camera_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_camera_velocity_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_closure_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_cubemap_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_culling_debug_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_culling_iter_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_culling_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_culling_light_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_deferred_direct_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_deferred_holdout_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_deferred_transparent_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_deferred_volume_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_clear_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_accumulator_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_bokeh_lut_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_filter_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_gather_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_gather_holefill_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_reduce_copy_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_reduce_downsample_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_reduce_recursive_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_resolve_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_scatter_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_scatter_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_scatter_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_setup_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_tiles_dilate_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_depth_of_field_tiles_flatten_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_film_filter_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_film_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_film_resolve_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_film_resolve_depth_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_gbuffer_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_irradiance_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_light_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_light_eval_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_display_cubemap_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_display_cubemap_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_display_grid_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_display_grid_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_display_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_eval_cubemap_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_eval_grid_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_diffuse_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_downsample_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_geom.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_glossy_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lightprobe_filter_visibility_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_lookdev_background_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_ltc_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_motion_blur_gather_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_motion_blur_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_motion_blur_tiles_dilate_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_motion_blur_tiles_flatten_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_nodetree_eval_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_sampling_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_shadow_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_background_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_deferred_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_depth_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_depth_simple_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_forward_frag.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_gpencil_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_hair_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_lib.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_lookdev_vert.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_mesh_geom.glsl SRC) - data_to_c_simple(engines/eevee/shaders/eevee_surface_mesh_vert.glsl SRC) - data_to @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs