[Bf-blender-cvs] [9516921c05b] master: Overlay Engine: Refactor & Cleanup
Clément Foucault
noreply at git.blender.org
Mon Dec 2 13:18:19 CET 2019
Commit: 9516921c05bd9fee5c94942eb8e38f47ba7e4351
Author: Clément Foucault
Date: Mon Dec 2 01:40:58 2019 +0100
Branches: master
https://developer.blender.org/rB9516921c05bd9fee5c94942eb8e38f47ba7e4351
Overlay Engine: Refactor & Cleanup
This is the unification of all overlays into one overlay engine as described in T65347.
I went over all the code making it more future proof with less hacks and removing old / not relevent parts.
Goals / Acheivements:
- Remove internal shader usage (only drw shaders)
- Remove viewportSize and viewportSizeInv and put them in gloabl ubo
- Fixed some drawing issues: Missing probe option and Missing Alt+B clipping of some shader
- Remove old (legacy) shaders dependancy (not using view UBO).
- Less shader variation (less compilation time at first load and less patching needed for vulkan)
- removed some geom shaders when I could
- Remove static e_data (except shaders storage where it is OK)
- Clear the way to fix some anoying limitations (dithered transparency, background image compositing etc...)
- Wireframe drawing now uses the same batching capabilities as workbench & eevee (indirect drawing).
- Reduced complexity, removed ~3000 Lines of code in draw (also removed a lot of unused shader in GPU).
- Post AA to avoid complexity and cost of MSAA.
Remaining issues:
- ~~Armature edits, overlay toggles, (... others?) are not refreshing viewport after AA is complete~~
- FXAA is not the best for wires, maybe investigate SMAA
- Maybe do something more temporally stable for AA.
- ~~Paint overlays are not working with AA.~~
- ~~infront objects are difficult to select.~~
- ~~the infront wires sometimes goes through they solid counterpart (missing clear maybe?) (toggle overlays on-off when using infront+wireframe overlay in solid shading)~~
Note: I made some decision to change slightly the appearance of some objects to simplify their drawing. Namely the empty arrows end (which is now hollow/wire) and distance points of the cameras/spots being done by lines.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6296
===================================================================
M release/scripts/startup/bl_ui/properties_data_lightprobe.py
M source/blender/blenfont/intern/blf_font.c
M source/blender/draw/CMakeLists.txt
M source/blender/draw/DRW_engine.h
M source/blender/draw/engines/basic/basic_engine.c
M source/blender/draw/engines/gpencil/gpencil_engine.c
M source/blender/draw/engines/gpencil/gpencil_engine.h
M source/blender/draw/engines/gpencil/gpencil_render.c
A source/blender/draw/engines/overlay/overlay_antialiasing.c
A source/blender/draw/engines/overlay/overlay_armature.c
A source/blender/draw/engines/overlay/overlay_edit_curve.c
A source/blender/draw/engines/overlay/overlay_edit_mesh.c
A source/blender/draw/engines/overlay/overlay_edit_text.c
A source/blender/draw/engines/overlay/overlay_engine.c
R060 source/blender/draw/modes/edit_mesh_mode_intern.h source/blender/draw/engines/overlay/overlay_engine.h
A source/blender/draw/engines/overlay/overlay_extra.c
A source/blender/draw/engines/overlay/overlay_facing.c
A source/blender/draw/engines/overlay/overlay_grid.c
A source/blender/draw/engines/overlay/overlay_image.c
A source/blender/draw/engines/overlay/overlay_lattice.c
A source/blender/draw/engines/overlay/overlay_metaball.c
A source/blender/draw/engines/overlay/overlay_motion_path.c
A source/blender/draw/engines/overlay/overlay_outline.c
A source/blender/draw/engines/overlay/overlay_paint.c
A source/blender/draw/engines/overlay/overlay_particle.c
A source/blender/draw/engines/overlay/overlay_private.h
A source/blender/draw/engines/overlay/overlay_sculpt.c
A source/blender/draw/engines/overlay/overlay_shader.c
A source/blender/draw/engines/overlay/overlay_wireframe.c
A source/blender/draw/engines/overlay/shaders/antialiasing_frag.glsl
A source/blender/draw/engines/overlay/shaders/antialiasing_vert.glsl
R062 source/blender/draw/modes/shaders/armature_dof_vert.glsl source/blender/draw/engines/overlay/shaders/armature_dof_vert.glsl
R093 source/blender/draw/modes/shaders/armature_envelope_outline_vert.glsl source/blender/draw/engines/overlay/shaders/armature_envelope_outline_vert.glsl
A source/blender/draw/engines/overlay/shaders/armature_envelope_solid_frag.glsl
R093 source/blender/draw/modes/shaders/armature_envelope_solid_vert.glsl source/blender/draw/engines/overlay/shaders/armature_envelope_solid_vert.glsl
R096 source/blender/draw/modes/shaders/armature_shape_outline_geom.glsl source/blender/draw/engines/overlay/shaders/armature_shape_outline_geom.glsl
R071 source/blender/draw/modes/shaders/armature_shape_outline_vert.glsl source/blender/draw/engines/overlay/shaders/armature_shape_outline_vert.glsl
R100 source/blender/draw/modes/shaders/armature_shape_solid_frag.glsl source/blender/draw/engines/overlay/shaders/armature_shape_solid_frag.glsl
R072 source/blender/draw/modes/shaders/armature_shape_solid_vert.glsl source/blender/draw/engines/overlay/shaders/armature_shape_solid_vert.glsl
R085 source/blender/draw/modes/shaders/armature_sphere_outline_vert.glsl source/blender/draw/engines/overlay/shaders/armature_sphere_outline_vert.glsl
R095 source/blender/draw/modes/shaders/armature_sphere_solid_frag.glsl source/blender/draw/engines/overlay/shaders/armature_sphere_solid_frag.glsl
R088 source/blender/draw/modes/shaders/armature_sphere_solid_vert.glsl source/blender/draw/engines/overlay/shaders/armature_sphere_solid_vert.glsl
R100 source/blender/draw/modes/shaders/armature_stick_frag.glsl source/blender/draw/engines/overlay/shaders/armature_stick_frag.glsl
R089 source/blender/draw/modes/shaders/armature_stick_vert.glsl source/blender/draw/engines/overlay/shaders/armature_stick_vert.glsl
A source/blender/draw/engines/overlay/shaders/armature_wire_vert.glsl
R084 source/blender/draw/modes/shaders/pose_selection_vert.glsl source/blender/draw/engines/overlay/shaders/depth_only_vert.glsl
R094 source/blender/draw/modes/shaders/edit_curve_overlay_handle_geom.glsl source/blender/draw/engines/overlay/shaders/edit_curve_handle_geom.glsl
R092 source/blender/draw/modes/shaders/edit_curve_overlay_handle_vert.glsl source/blender/draw/engines/overlay/shaders/edit_curve_handle_vert.glsl
R090 source/blender/draw/modes/shaders/edit_curve_overlay_loosevert_vert.glsl source/blender/draw/engines/overlay/shaders/edit_curve_point_vert.glsl
R089 source/blender/draw/modes/shaders/edit_curve_overlay_normals_vert.glsl source/blender/draw/engines/overlay/shaders/edit_curve_wire_vert.glsl
A source/blender/draw/engines/overlay/shaders/edit_lattice_point_vert.glsl
A source/blender/draw/engines/overlay/shaders/edit_lattice_wire_vert.glsl
R100 source/blender/draw/modes/shaders/edit_mesh_overlay_mesh_analysis_frag.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_analysis_frag.glsl
R100 source/blender/draw/modes/shaders/edit_mesh_overlay_mesh_analysis_vert.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_analysis_vert.glsl
R100 source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_common_lib.glsl
R100 source/blender/draw/modes/shaders/edit_mesh_overlay_facefill_frag.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_facefill_frag.glsl
R100 source/blender/draw/modes/shaders/edit_mesh_overlay_facefill_vert.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_facefill_vert.glsl
R086 source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_frag.glsl
R093 source/blender/draw/modes/shaders/edit_mesh_overlay_geom.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_geom.glsl
A source/blender/draw/engines/overlay/shaders/edit_mesh_normal_vert.glsl
A source/blender/draw/engines/overlay/shaders/edit_mesh_skin_root_vert.glsl
R082 source/blender/draw/modes/shaders/edit_mesh_overlay_vert.glsl source/blender/draw/engines/overlay/shaders/edit_mesh_vert.glsl
A source/blender/draw/engines/overlay/shaders/edit_particle_point_vert.glsl
A source/blender/draw/engines/overlay/shaders/edit_particle_strand_vert.glsl
A source/blender/draw/engines/overlay/shaders/extra_frag.glsl
A source/blender/draw/engines/overlay/shaders/extra_groundline_vert.glsl
R077 source/blender/draw/modes/shaders/object_loose_points_frag.glsl source/blender/draw/engines/overlay/shaders/extra_loose_point_frag.glsl
A source/blender/draw/engines/overlay/shaders/extra_loose_point_vert.glsl
A source/blender/draw/engines/overlay/shaders/extra_point_vert.glsl
A source/blender/draw/engines/overlay/shaders/extra_vert.glsl
A source/blender/draw/engines/overlay/shaders/extra_wire_frag.glsl
A source/blender/draw/engines/overlay/shaders/extra_wire_vert.glsl
R100 source/blender/draw/modes/shaders/overlay_face_orientation_frag.glsl source/blender/draw/engines/overlay/shaders/facing_frag.glsl
R100 source/blender/draw/modes/shaders/overlay_face_orientation_vert.glsl source/blender/draw/engines/overlay/shaders/facing_vert.glsl
R099 source/blender/draw/modes/shaders/object_grid_frag.glsl source/blender/draw/engines/overlay/shaders/grid_frag.glsl
R100 source/blender/draw/modes/shaders/object_grid_vert.glsl source/blender/draw/engines/overlay/shaders/grid_vert.glsl
A source/blender/draw/engines/overlay/shaders/image_frag.glsl
A source/blender/draw/engines/overlay/shaders/image_vert.glsl
R061 source/blender/draw/modes/shaders/animviz_mpath_lines_geom.glsl source/blender/draw/engines/overlay/shaders/motion_path_line_geom.glsl
R082 source/blender/draw/modes/shaders/animviz_mpath_lines_vert.glsl source/blender/draw/engines/overlay/shaders/motion_path_line_vert.glsl
R072 source/blender/draw/modes/shaders/animviz_mpath_points_vert.glsl source/blender/draw/engines/overlay/shaders/motion_path_point_vert.glsl
R098 source/blender/draw/modes/shaders/object_outline_detect_frag.glsl source/blender/draw/engines/overlay/shaders/outline_detect_frag.glsl
R100 source/blender/draw/modes/shaders/object_outline_expand_frag.glsl source/blender/draw/engines/overlay/shaders/outline_expand_frag.glsl
R100 source/blender/draw/modes/shaders/object_lightprobe_grid_vert.glsl source/blender/draw/engines/overlay/shaders/outline_lightprobe_grid_vert.glsl
R100 source/blender/draw/modes/shaders/object_outline_prepass_frag.glsl source/blender/draw/engines/overlay/shaders/outline_prepass_frag.glsl
R100 source/blender/draw/modes/shaders/object_outline_prepass_geom.glsl source/blender/draw/engines/overlay/shaders/outline_prepass_geom.glsl
R100 source/blender/draw/modes/shaders/object_outline_prepass_vert.glsl source/blender/draw/engines/overlay/shaders/outline_prepass_vert.glsl
R100 source/blender/draw/modes/shaders/object_outline_resolve_frag.glsl source/blender/draw/engines/overlay/shaders/outline_resolve_frag.glsl
R063 source/blender/draw/modes/shaders/paint_face_selection_vert.glsl source/blender/draw/engines/overlay/shaders/paint_face_vert.glsl
A source/blender/draw/engines/overlay/shaders/paint_point_vert.glsl
A source/blender/draw/engines/overlay/shaders/paint_texture_frag.glsl
R076 source/blender/draw/modes/shaders/paint_texture_vert.glsl source/blender/draw/engines/overlay/shaders/paint_texture_vert.glsl
R056 source/blender/draw/modes/shaders/paint_vertex_frag.glsl source/blender/draw/engines/overlay/shaders/paint_vertcol_frag.glsl
R092 source/blender/draw/modes/shaders/paint_vertex_vert.glsl source/blender/draw/engines/overlay/shaders/paint_vertcol_vert.glsl
R091 source/blender/draw/modes/shaders/paint_weight_frag.glsl source/blender/draw/engines/overlay/shaders/paint_weight_frag.glsl
R091 source/blender/draw/modes/shaders/paint_weight_vert.glsl source/blender/draw/engines/overlay/shaders/paint_weight_vert.glsl
R051 source/blender/draw/modes/shaders/paint_wire_vert.glsl source/blender/draw/engines/overlay/shaders/paint_wire_vert.glsl
A source/blender/draw/engines/overlay/shaders/particle_frag.glsl
A source/blender/draw/engines/overlay/shaders/particle_vert.glsl
R064 source/blender/draw/modes/shaders/sculpt_mask_vert.glsl source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl
R100 source/blender/draw/modes/shaders/volume_velocity_vert.glsl source/blender/draw/engines/overlay/shaders/volume_velocity_vert.glsl
A source/blender/draw/engines/overlay/shaders/wireframe_frag.glsl
R078 source/blender/draw/modes/shaders/overlay_face_wireframe_geom.glsl source/blender/draw/engines/overlay/shaders/wireframe_geom.glsl
A source/blender/draw/engines/overlay/shaders/wireframe_vert.glsl
M source/blender/draw/engines/select/select_engine.c
M source/blender/draw/engines/workbench/shaders/workbench_effect_fxaa_frag.glsl
M source/blender/draw/engines/workbench/workbench_deferred.c
M source/blender/draw/intern/DRW_render.h
D source/blender/draw/intern/draw_anim_viz.c
D source/blender/draw/intern/draw_armature.c
M source/blender/draw/intern/draw_cache.c
M source/blender/draw/intern/draw_cache.h
M source/blender/draw/intern/draw_cache_extract_mesh.c
M source/blender/draw/intern/draw_cache_impl_lattice.c
M source/blender/draw/intern/draw_cache_impl_mesh.c
M source/blender/draw/intern/draw_cache_impl_particles.c
M source/blender/draw/intern/draw_common.c
M source/blender/draw/intern/draw_common.h
M source/blender/draw/intern/draw_instance_data.c
M source/blender/draw/intern/draw_instance_data.h
M source/blender/draw/intern/draw_manager.c
M source/blender/draw/intern/draw_manager.h
M source/blender/draw/intern/draw_manager_data.c
M source/blender/draw/intern/draw_manager_exec.c
M source/blender/draw/intern/draw_manager_text.c
M source/blender/draw/intern/draw_manager_text.h
R100 source/blender/draw/modes/shaders/common_colormanagement_lib.glsl source/blender/draw/intern/shaders/common_colormanagement_lib.glsl
R100 source/blender/draw/modes/shaders/common_fullscreen_vert.glsl source/blender/draw/intern/shaders/common_fullscreen_vert.glsl
R099 source/blender/draw/modes/shaders/common_fxaa_lib.glsl source/blender/draw/intern/shaders/common_fxaa_lib.glsl
R087 source/blender/draw/modes/shaders/common_globals_lib.glsl source/blender/draw/intern/shaders/common_globals_lib.glsl
R100 source/blender/draw/modes/shaders/common_hair_lib.glsl source/blender/draw/intern/shaders/common_hair_lib.glsl
R100 source/blender/draw/modes/shaders/common_hair_refine_vert.glsl source/blender/draw/intern/shaders/common_hair_refine_vert.glsl
A source/blender/draw/intern/shaders/common_smaa_lib.glsl
R074 source/blender/draw/modes/shaders/common_view_lib.glsl source/blender/draw/intern/shaders/common_view_lib.glsl
A source/blender/draw/intern/smaa_textures.h
D source/blender/draw/modes/draw_mode_engines.h
D source/blender/draw/modes/edit_armature_mode.c
D source/blender/draw/modes/edit_curve_mode.c
D source/blender/draw/modes/edit_lattice_mode.c
D source/blender/draw/modes/edit_mesh_mode.c
D source/blender/draw/modes/edit_mesh_mode_text.c
D source/blender/draw/modes/edit_metaball_mode.c
D source/blender/draw/modes/edit_text_mode.c
D source/blender/draw/modes/object_mode.c
D source/blender/draw/modes/overlay_mode.c
D source/blender/draw/modes/paint_texture_mode.c
D source/blender/draw/modes/paint_vertex_mode.c
D source/blender/draw/modes/particle_mode.c
D source/blender/draw/modes/pose_mode.c
D source/blender/draw/modes/sculpt_mode.c
D source/blender/draw/modes/shaders/armature_axes_vert.glsl
D source/blender/draw/modes/shaders/armature_envelope_distance_frag.glsl
D source/blender/draw/modes/shaders/armature_envelope_solid_frag.glsl
D source/blender/draw/modes/shaders/edit_lattice_overlay_frag.glsl
D source/blender/draw/modes/shaders/edit_lattice_overlay_loosevert_vert.glsl
D source/blender/draw/modes/shaders/edit_mesh_overlay_ghost_clear_vert.glsl
D source/blender/draw/modes/shaders/edit_mesh_overlay_mix_frag.glsl
D source/blender/draw/modes/shaders/edit_mesh_skin_root_vert.glsl
D source/blender/draw/modes/shaders/edit_normals_geom.glsl
D source/blender/draw/modes/shaders/edit_normals_vert.glsl
D source/blender/draw/modes/shaders/object_camera_image_frag.glsl
D source/blender/draw/modes/shaders/object_camera_image_vert.glsl
D source/blender/draw/modes/shaders/object_color_axes_vert.glsl
D source/blender/draw/modes/shaders/object_empty_axes_vert.glsl
D source/blender/draw/modes/shaders/object_empty_image_frag.glsl
D source/blender/draw/modes/shaders/object_empty_image_vert.glsl
D source/blender/draw/modes/shaders/object_mball_handles_vert.glsl
D source/blender/draw/modes/shaders/object_particle_dot_frag.glsl
D source/blender/draw/modes/shaders/object_particle_dot_vert.glsl
D source/blender/draw/modes/shaders/object_particle_prim_vert.glsl
D source/blender/draw/modes/shaders/overlay_face_wireframe_frag.glsl
D source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl
D source/blender/draw/modes/shaders/paint_face_vert.glsl
D source/blender/draw/modes/shaders/paint_texture_frag.glsl
D source/blender/draw/modes/shaders/paint_vert_frag.glsl
D source/blender/draw/modes/shaders/paint_wire_frag.glsl
D source/blender/draw/modes/shaders/particle_strand_frag.glsl
D source/blender/draw/modes/shaders/particle_strand_vert.glsl
M source/blender/editors/armature/armature_add.c
M source/blender/editors/armature/armature_edit.c
M source/blender/editors/armature/armature_relations.c
M source/blender/editors/armature/armature_select.c
M source/blender/editors/space_sequencer/sequencer_draw.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_snap.c
M source/blender/gpu/CMakeLists.txt
M source/blender/gpu/GPU_batch.h
M source/blender/gpu/GPU_shader.h
M source/blender/gpu/GPU_vertex_buffer.h
M source/blender/gpu/intern/gpu_batch.c
M source/blender/gpu/intern/gpu_shader.c
M source/blender/gpu/intern/gpu_vertex_buffer.c
M source/blender/gpu/intern/gpu_viewport.c
M source/blender/gpu/shaders/gpu_shader_2D_line_dashed_frag.glsl
D source/blender/gpu/shaders/gpu_shader_2D_line_dashed_geom.glsl
M source/blender/gpu/shaders/gpu_shader_2D_line_dashed_uniform_color_vert.glsl
D source/blender/gpu/shaders/gpu_shader_2D_line_dashed_width_geom.glsl
D source/blender/gpu/shaders/gpu_shader_3D_groundline_geom.glsl
D source/blender/gpu/shaders/gpu_shader_3D_groundpoint_vert.glsl
D source/blender/gpu/shaders/gpu_shader_3D_line_dashed_uniform_color_legacy_vert.glsl
M source/blender/gpu/shaders/gpu_shader_3D_line_dashed_uniform_color_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_camera_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_distance_line_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_edges_variying_color_geom.glsl
D source/blender/gpu/shaders/gpu_shader_instance_edges_variying_color_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_objectspace_variying_color_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_screen_aligned_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_screenspace_variying_color_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_variying_size_variying_id_vert.glsl
D source/blender/gpu/shaders/gpu_shader_instance_vert.glsl
M source/blender/gpu/shaders/gpu_shader_text_frag.glsl
D source/blender/gpu/shaders/gpu_shader_text_geom.glsl
D source/blender/gpu/shaders/gpu_shader_text_simple_geom.glsl
D source/blender/gpu/shaders/gpu_shader_text_simple_vert.glsl
M source/blender/gpu/shaders/gpu_shader_text_vert.glsl
M source/blender/gpu/shaders/material/gpu_shader_material_normal_map.glsl
M source/blender/makesdna/DNA_world_types.h
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_lightprobe.py b/release/scripts/startup/bl_ui/properties_data_lightprobe.py
index d6fd0cb6ec2..e8244c9c107 100644
--- a/release/scripts/startup/bl_ui/properties_data_lightprobe.py
+++ b/release/scripts/startup/bl_ui/properties_data_lightprobe.py
@@ -168,6 +168,7 @@ class DATA_PT_lightprobe_display(DataButtonsPanel, Panel):
if probe.type == 'PLANAR':
col.prop(ob, "empty_display_size", text="Arrow Size")
+ col.prop(probe, "show_influence")
col.prop(probe, "show_data")
if probe.type in {'GRID', 'CUBEMAP'}:
diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c
index 1c06dfd3f70..25ea0770f8b 100644
--- a/source/blender/blenfont/intern/blf_font.c
+++ b/source/blender/blenfont/intern/blf_font.c
@@ -96,7 +96,13 @@ static void blf_batch_draw_init(void)
GPU_vertbuf_attr_get_raw_data(g_batch.verts, g_batch.col_loc, &g_batch.col_step);
g_batch.glyph_len = 0;
- g_batch.batch = GPU_batch_create_ex(GPU_PRIM_POINTS, g_batch.verts, NULL, GPU_BATCH_OWNS_VBO);
+ /* A dummy vbo containing 4 points, attribs are not used. */
+ GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
+ GPU_vertbuf_data_alloc(vbo, 4);
+
+ /* We render a quad as a triangle strip and instance it for each glyph. */
+ g_batch.batch = GPU_batch_create_ex(GPU_PRIM_TRI_STRIP, vbo, NULL, GPU_BATCH_OWNS_VBO);
+ GPU_batch_instbuf_set(g_batch.batch, g_batch.verts, true);
}
static void blf_batch_draw_exit(void)
@@ -188,8 +194,7 @@ void blf_batch_draw(void)
GPU_vertbuf_data_len_set(g_batch.verts, g_batch.glyph_len);
GPU_vertbuf_use(g_batch.verts); /* send data */
- eGPUBuiltinShader shader = (g_batch.simple_shader) ? GPU_SHADER_TEXT_SIMPLE : GPU_SHADER_TEXT;
- GPU_batch_program_set_builtin(g_batch.batch, shader);
+ GPU_batch_program_set_builtin(g_batch.batch, GPU_SHADER_TEXT);
GPU_batch_uniform_1i(g_batch.batch, "glyph", 0);
GPU_batch_draw(g_batch.batch);
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index dc5508340de..7d996f3c535 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -21,7 +21,6 @@
set(INC
.
intern
- modes
../blenfont
../blenkernel
@@ -49,8 +48,6 @@ set(INC_SYS
)
set(SRC
- intern/draw_anim_viz.c
- intern/draw_armature.c
intern/draw_cache.c
intern/draw_cache_extract_mesh.c
intern/draw_cache_impl_curve.c
@@ -72,20 +69,6 @@ set(SRC
intern/draw_manager_texture.c
intern/draw_select_buffer.c
intern/draw_view.c
- modes/edit_armature_mode.c
- modes/edit_curve_mode.c
- modes/edit_lattice_mode.c
- modes/edit_mesh_mode.c
- modes/edit_mesh_mode_text.c
- modes/edit_metaball_mode.c
- modes/edit_text_mode.c
- modes/object_mode.c
- modes/overlay_mode.c
- modes/paint_texture_mode.c
- modes/paint_vertex_mode.c
- modes/particle_mode.c
- modes/pose_mode.c
- modes/sculpt_mode.c
engines/basic/basic_engine.c
engines/eevee/eevee_bloom.c
engines/eevee/eevee_data.c
@@ -136,6 +119,25 @@ set(SRC
engines/gpencil/gpencil_shader_fx.c
engines/select/select_draw_utils.c
engines/select/select_engine.c
+ engines/overlay/overlay_antialiasing.c
+ engines/overlay/overlay_armature.c
+ engines/overlay/overlay_engine.c
+ engines/overlay/overlay_edit_curve.c
+ engines/overlay/overlay_edit_text.c
+ engines/overlay/overlay_edit_mesh.c
+ engines/overlay/overlay_extra.c
+ engines/overlay/overlay_facing.c
+ engines/overlay/overlay_grid.c
+ engines/overlay/overlay_image.c
+ engines/overlay/overlay_lattice.c
+ engines/overlay/overlay_metaball.c
+ engines/overlay/overlay_motion_path.c
+ engines/overlay/overlay_outline.c
+ engines/overlay/overlay_paint.c
+ engines/overlay/overlay_particle.c
+ engines/overlay/overlay_shader.c
+ engines/overlay/overlay_sculpt.c
+ engines/overlay/overlay_wireframe.c
DRW_engine.h
DRW_select_buffer.h
@@ -152,8 +154,7 @@ set(SRC
intern/draw_manager_profiling.h
intern/draw_manager_text.h
intern/draw_view.h
- modes/draw_mode_engines.h
- modes/edit_mesh_mode_intern.h
+ intern/smaa_textures.h
engines/basic/basic_engine.h
engines/eevee/eevee_engine.h
engines/eevee/eevee_lightcache.h
@@ -164,6 +165,8 @@ set(SRC
engines/workbench/workbench_private.h
engines/select/select_engine.h
engines/select/select_private.h
+ engines/overlay/overlay_engine.h
+ engines/overlay/overlay_private.h
)
set(LIB
@@ -261,90 +264,14 @@ data_to_c_simple(engines/workbench/shaders/workbench_volume_vert.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_volume_frag.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_world_light_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_colormanagement_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_globals_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_hair_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_hair_refine_vert.glsl SRC)
-data_to_c_simple(modes/shaders/common_view_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_fxaa_lib.glsl SRC)
-data_to_c_simple(modes/shaders/common_fullscreen_vert.glsl SRC)
-data_to_c_simple(modes/shaders/animviz_mpath_lines_vert.glsl SRC)
-data_to_c_simple(modes/shaders/animviz_mpath_lines_geom.glsl SRC)
-data_to_c_simple(modes/shaders/animviz_mpath_points_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_axes_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_sphere_solid_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_sphere_solid_frag.glsl SRC)
-data_to_c_simple(modes/shaders/armature_sphere_outline_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_envelope_solid_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_envelope_solid_frag.glsl SRC)
-data_to_c_simple(modes/shaders/armature_envelope_outline_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_envelope_distance_frag.glsl SRC)
-data_to_c_simple(modes/shaders/armature_shape_solid_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_shape_solid_frag.glsl SRC)
-data_to_c_simple(modes/shaders/armature_shape_outline_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_shape_outline_geom.glsl SRC)
-data_to_c_simple(modes/shaders/armature_stick_vert.glsl SRC)
-data_to_c_simple(modes/shaders/armature_stick_frag.glsl SRC)
-data_to_c_simple(modes/shaders/armature_dof_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_common_lib.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_frag.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_geom.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_mix_frag.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_facefill_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_facefill_frag.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_mesh_analysis_frag.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_overlay_mesh_analysis_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_mesh_skin_root_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_curve_overlay_handle_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_curve_overlay_handle_geom.glsl SRC)
-data_to_c_simple(modes/shaders/edit_curve_overlay_loosevert_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_curve_overlay_normals_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_lattice_overlay_frag.glsl SRC)
-data_to_c_simple(modes/shaders/edit_lattice_overlay_loosevert_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_normals_vert.glsl SRC)
-data_to_c_simple(modes/shaders/edit_normals_geom.glsl SRC)
-data_to_c_simple(modes/shaders/overlay_face_orientation_frag.glsl SRC)
-data_to_c_simple(modes/shaders/overlay_face_orientation_vert.glsl SRC)
-data_to_c_simple(modes/shaders/overlay_face_wireframe_vert.glsl SRC)
-data_to_c_simple(modes/shaders/overlay_face_wireframe_geom.glsl SRC)
-data_to_c_simple(modes/shaders/overlay_face_wireframe_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_camera_image_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_camera_image_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_color_axes_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_empty_axes_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_empty_image_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_empty_image_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_resolve_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_expand_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_detect_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_prepass_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_prepass_geom.glsl SRC)
-data_to_c_simple(modes/shaders/object_outline_prepass_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_grid_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_grid_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_lightprobe_grid_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_mball_handles_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_particle_prim_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_particle_dot_vert.glsl SRC)
-data_to_c_simple(modes/shaders/object_particle_dot_frag.glsl SRC)
-data_to_c_simple(modes/shaders/object_loose_points_frag.glsl SRC)
-data_to_c_simple(modes/shaders/paint_texture_frag.glsl SRC)
-data_to_c_simple(modes/shaders/paint_texture_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_vertex_frag.glsl SRC)
-data_to_c_simple(modes/shaders/paint_vertex_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_weight_frag.glsl SRC)
-data_to_c_simple(modes/shaders/paint_weight_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_face_selection_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_face_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_wire_frag.glsl SRC)
-data_to_c_simple(modes/shaders/paint_wire_vert.glsl SRC)
-data_to_c_simple(modes/shaders/paint_vert_frag.glsl SRC)
-data_to_c_simple(modes/shaders/particle_strand_frag.glsl SRC)
-data_to_c_simple(modes/shaders/particle_strand_vert.glsl SRC)
-data_to_c_simple(modes/shaders/pose_selection_vert.glsl SRC)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list