144 draw_ctx->
sh_cfg ?
"overlay_depth_only_clipped" :
"overlay_depth_only");
155 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_vert_clipped" :
"overlay_edit_mesh_vert");
168 (use_flat_interp ?
"overlay_edit_mesh_edge_flat_clipped" :
169 "overlay_edit_mesh_edge_clipped") :
170 (use_flat_interp ?
"overlay_edit_mesh_edge_flat" :
"overlay_edit_mesh_edge"));
181 draw_ctx->
sh_cfg ?
"overlay_armature_sphere_outline_clipped" :
182 "overlay_armature_sphere_outline");
186 draw_ctx->
sh_cfg ?
"overlay_armature_sphere_solid_clipped" :
187 "overlay_armature_sphere_solid");
198 draw_ctx->
sh_cfg ?
"overlay_armature_shape_outline_clipped" :
199 "overlay_armature_shape_outline");
203 draw_ctx->
sh_cfg ?
"overlay_armature_shape_solid_clipped" :
204 "overlay_armature_shape_solid");
215 draw_ctx->
sh_cfg ?
"overlay_armature_shape_wire_clipped" :
"overlay_armature_shape_wire");
226 draw_ctx->
sh_cfg ?
"overlay_armature_envelope_outline_clipped" :
227 "overlay_armature_envelope_outline");
231 draw_ctx->
sh_cfg ?
"overlay_armature_envelope_solid_clipped" :
232 "overlay_armature_envelope_solid");
243 draw_ctx->
sh_cfg ?
"overlay_armature_stick_clipped" :
"overlay_armature_stick");
254 draw_ctx->
sh_cfg ?
"overlay_armature_dof_wire_clipped" :
"overlay_armature_dof_wire");
265 draw_ctx->
sh_cfg ?
"overlay_armature_dof_solid_clipped" :
"overlay_armature_dof_solid");
276 draw_ctx->
sh_cfg ?
"overlay_armature_wire_clipped" :
"overlay_armature_wire");
287 draw_ctx->
sh_cfg ?
"overlay_edit_curve_handle_clipped" :
"overlay_edit_curve_handle");
298 draw_ctx->
sh_cfg ?
"overlay_edit_curve_point_clipped" :
"overlay_edit_curve_point");
309 draw_ctx->
sh_cfg ?
"overlay_edit_curve_wire_clipped" :
"overlay_edit_curve_wire");
320 draw_ctx->
sh_cfg ?
"overlay_edit_gpencil_guide_point_clipped" :
321 "overlay_edit_gpencil_guide_point");
332 draw_ctx->
sh_cfg ?
"overlay_edit_gpencil_point_clipped" :
"overlay_edit_gpencil_point");
343 draw_ctx->
sh_cfg ?
"overlay_edit_gpencil_wire_clipped" :
"overlay_edit_gpencil_wire");
354 draw_ctx->
sh_cfg ?
"overlay_edit_lattice_point_clipped" :
"overlay_edit_lattice_point");
365 draw_ctx->
sh_cfg ?
"overlay_edit_lattice_wire_clipped" :
"overlay_edit_lattice_wire");
376 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_face_clipped" :
"overlay_edit_mesh_face");
387 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_facedot_clipped" :
"overlay_edit_mesh_facedot");
398 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_normal_clipped" :
"overlay_edit_mesh_normal");
409 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_analysis_clipped" :
"overlay_edit_mesh_analysis");
420 draw_ctx->
sh_cfg ?
"overlay_edit_mesh_skin_root_clipped" :
"overlay_edit_mesh_skin_root");
431 draw_ctx->
sh_cfg ?
"overlay_edit_particle_strand_clipped" :
432 "overlay_edit_particle_strand");
443 draw_ctx->
sh_cfg ?
"overlay_edit_particle_point_clipped" :
"overlay_edit_particle_point");
455 draw_ctx->
sh_cfg ? (is_select ?
"overlay_extra_select_clipped" :
"overlay_extra_clipped") :
456 (is_select ?
"overlay_extra_select" :
"overlay_extra"));
467 draw_ctx->
sh_cfg ?
"overlay_extra_grid_clipped" :
"overlay_extra_grid");
478 draw_ctx->
sh_cfg ?
"overlay_extra_groundline_clipped" :
"overlay_extra_groundline");
489 const char *info_name =
NULL;
492 info_name =
"overlay_extra_wire_select_clipped";
495 info_name = use_object ?
"overlay_extra_wire_object_clipped" :
496 "overlay_extra_wire_clipped";
501 info_name =
"overlay_extra_wire_select";
504 info_name = use_object ?
"overlay_extra_wire_object" :
"overlay_extra_wire";
518 draw_ctx->
sh_cfg ?
"overlay_extra_loose_point_clipped" :
"overlay_extra_loose_point");
529 draw_ctx->
sh_cfg ?
"overlay_extra_point_clipped" :
"overlay_extra_point");
540 draw_ctx->
sh_cfg ?
"overlay_facing_clipped" :
"overlay_facing");
553 0 ?
"overlay_gpencil_canvas_clipped" :
"overlay_gpencil_canvas");
590 "overlay_edit_uv_stencil_image");
622 draw_ctx->
sh_cfg ?
"overlay_motion_path_line_clipped" :
"overlay_motion_path_line");
633 draw_ctx->
sh_cfg ?
"overlay_motion_path_point_clipped" :
"overlay_motion_path_point");
644 draw_ctx->
sh_cfg ?
"overlay_outline_prepass_wire_clipped" :
645 "overlay_outline_prepass_wire");
649 draw_ctx->
sh_cfg ?
"overlay_outline_prepass_mesh_clipped" :
650 "overlay_outline_prepass_mesh");
661 draw_ctx->
sh_cfg ?
"overlay_outline_prepass_curves_clipped" :
662 "overlay_outline_prepass_curves");
673 draw_ctx->
sh_cfg ?
"overlay_outline_prepass_gpencil_clipped" :
674 "overlay_outline_prepass_gpencil");
685 draw_ctx->
sh_cfg ?
"overlay_outline_prepass_pointcloud_clipped" :
686 "overlay_outline_prepass_pointcloud");
731 sh_cfg ?
"overlay_paint_texture_clipped" :
"overlay_paint_texture");
743 sh_cfg ?
"overlay_paint_vertcol_clipped" :
"overlay_paint_vertcol");
750 const char *info_name[2][2] = {
751 {
"overlay_paint_weight",
"overlay_paint_weight_fake_shading"},
752 {
"overlay_paint_weight_clipped",
"overlay_paint_weight_fake_shading_clipped"},
754 int index = shading ? 1 : 0;
771 "overlay_paint_wire");
782 draw_ctx->
sh_cfg ?
"overlay_particle_dot_clipped" :
"overlay_particle_dot");
793 draw_ctx->
sh_cfg ?
"overlay_particle_shape_clipped" :
"overlay_particle_shape");
804 draw_ctx->
sh_cfg ?
"overlay_sculpt_mask_clipped" :
"overlay_sculpt_mask");
816 "overlay_sculpt_curves_selection");
827 draw_ctx->
sh_cfg ?
"overlay_uniform_color_clipped" :
"overlay_uniform_color");
837 "overlay_volume_velocity_needle");
841 "overlay_volume_velocity_mac");
861 "overlay_volume_gridlines_flags");
865 "overlay_volume_gridlines_range");
871 if (color_with_flags) {
887 draw_ctx->
sh_cfg ?
"overlay_wireframe_select_clipped" :
"overlay_wireframe_select");
898 custom_bias ? (draw_ctx->
sh_cfg ?
"overlay_wireframe_custom_depth_clipped" :
899 "overlay_wireframe_custom_depth") :
900 (draw_ctx->
sh_cfg ?
"overlay_wireframe_clipped" :
"overlay_wireframe"));
932 "overlay_edit_uv_edges_select");
970 "overlay_edit_uv_stretching_area");
981 "overlay_edit_uv_stretching_angle");
992 "overlay_edit_uv_tiled_image_borders");
1005 {
"pos", DRW_ATTR_FLOAT, 3},
1009 {
"pos", DRW_ATTR_FLOAT, 3},
1010 {
"color", DRW_ATTR_FLOAT, 4},
1014 {
"inst_pos", DRW_ATTR_FLOAT, 3},
1018 {
"color", DRW_ATTR_FLOAT, 4},
1019 {
"inst_obmat", DRW_ATTR_FLOAT, 16},
1023 {
"pos", DRW_ATTR_FLOAT, 3},
1024 {
"colorid", DRW_ATTR_INT, 1},
1028 {
"pos", DRW_ATTR_FLOAT, 3},
1029 {
"colorid", DRW_ATTR_INT, 1},
1033 {
"inst_obmat", DRW_ATTR_FLOAT, 16},
1037 {
"boneStart", DRW_ATTR_FLOAT, 3},
1038 {
"boneEnd", DRW_ATTR_FLOAT, 3},
1039 {
"wireColor", DRW_ATTR_FLOAT, 4},
1040 {
"boneColor", DRW_ATTR_FLOAT, 4},
1041 {
"headColor", DRW_ATTR_FLOAT, 4},
1042 {
"tailColor", DRW_ATTR_FLOAT, 4},
1046 {
"headSphere", DRW_ATTR_FLOAT, 4},
1047 {
"tailSphere", DRW_ATTR_FLOAT, 4},
1048 {
"outlineColorSize", DRW_ATTR_FLOAT, 4},
1049 {
"xAxis", DRW_ATTR_FLOAT, 3},
1053 {
"headSphere", DRW_ATTR_FLOAT, 4},
1054 {
"tailSphere", DRW_ATTR_FLOAT, 4},
1055 {
"xAxis", DRW_ATTR_FLOAT, 3},
1059 {
"headSphere", DRW_ATTR_FLOAT, 4},
1060 {
"tailSphere", DRW_ATTR_FLOAT, 4},
1061 {
"boneColor", DRW_ATTR_FLOAT, 3},
1062 {
"stateColor", DRW_ATTR_FLOAT, 3},
1063 {
"xAxis", DRW_ATTR_FLOAT, 3},
1071 for (
int sh_data_index = 0; sh_data_index <
ARRAY_SIZE(
e_data.sh_data); sh_data_index++) {
1079 for (
int i = 0; i <
sizeof(
g_formats) /
sizeof(
void *); i++,
format++) {
#define DRW_shgroup_instance_format(format,...)
#define DRW_SHADER_FREE_SAFE(shader)
struct GPUShader GPUShader
GPUShader * GPU_shader_create_from_info_name(const char *info_name)
#define GPU_SHADER_CFG_LEN
const DRWContextState * DRW_context_state_get(void)
ccl_gpu_kernel_postfix ccl_global float int int int int sh
GPUShader * OVERLAY_shader_edit_lattice_wire(void)
GPUShader * OVERLAY_shader_edit_uv_stretching_angle_get(void)
GPUShader * OVERLAY_shader_sculpt_curves_selection(void)
GPUShader * OVERLAY_shader_paint_weight(const bool shading)
GPUShader * OVERLAY_shader_image(void)
GPUShader * OVERLAY_shader_edit_curve_handle(void)
void OVERLAY_shader_free(void)
GPUShader * OVERLAY_shader_armature_degrees_of_freedom_wire(void)
GPUShader * OVERLAY_shader_edit_gpencil_guide_point(void)
static struct @266 e_data
GPUShader * OVERLAY_shader_edit_lattice_point(void)
struct OVERLAY_Shaders OVERLAY_Shaders
GPUShader * OVERLAY_shader_edit_mesh_edge(bool use_flat_interp)
GPUShader * OVERLAY_shader_paint_face(void)
GPUShader * OVERLAY_shader_edit_uv_face_get(void)
GPUShader * OVERLAY_shader_armature_sphere(bool use_outline)
GPUShader * OVERLAY_shader_wireframe(bool custom_bias)
GPUShader * OVERLAY_shader_edit_gpencil_point(void)
GPUShader * OVERLAY_shader_edit_curve_wire(void)
GPUShader * OVERLAY_shader_outline_prepass(bool use_wire)
GPUShader * OVERLAY_shader_edit_mesh_facedot(void)
GPUShader * OVERLAY_shader_extra_groundline(void)
GPUShader * OVERLAY_shader_extra_loose_point(void)
GPUShader * OVERLAY_shader_armature_degrees_of_freedom_solid(void)
GPUShader * OVERLAY_shader_edit_uv_stencil_image(void)
OVERLAY_Shaders sh_data[GPU_SHADER_CFG_LEN]
GPUShader * OVERLAY_shader_edit_gpencil_wire(void)
GPUShader * OVERLAY_shader_background(void)
GPUShader * OVERLAY_shader_grid_background(void)
GPUShader * OVERLAY_shader_clipbound(void)
GPUShader * OVERLAY_shader_edit_uv_face_dots_get(void)
struct GPUShader * OVERLAY_shader_volume_velocity(bool use_needle, bool use_mac)
GPUShader * OVERLAY_shader_motion_path_vert(void)
GPUShader * OVERLAY_shader_particle_dot(void)
GPUShader * OVERLAY_shader_paint_point(void)
GPUShader * OVERLAY_shader_edit_mesh_skin_root(void)
GPUShader * OVERLAY_shader_extra_grid(void)
GPUShader * OVERLAY_shader_outline_prepass_curves()
struct GPUShader * OVERLAY_shader_volume_gridlines(bool color_with_flags, bool color_range)
GPUShader * OVERLAY_shader_edit_uv_stretching_area_get(void)
GPUShader * OVERLAY_shader_particle_shape(void)
GPUShader * OVERLAY_shader_motion_path_line(void)
GPUShader * OVERLAY_shader_edit_mesh_vert(void)
GPUShader * OVERLAY_shader_edit_uv_verts_get(void)
GPUShader * OVERLAY_shader_extra(bool is_select)
GPUShader * OVERLAY_shader_edit_particle_strand(void)
GPUShader * OVERLAY_shader_extra_wire(bool use_object, bool is_select)
GPUShader * OVERLAY_shader_sculpt_mask(void)
GPUShader * OVERLAY_shader_edit_uv_mask_image(void)
GPUShader * OVERLAY_shader_armature_shape_wire(void)
GPUShader * OVERLAY_shader_edit_uv_edges_get(void)
GPUShader * OVERLAY_shader_edit_mesh_face(void)
GPUShader * OVERLAY_shader_edit_mesh_normal(void)
GPUShader * OVERLAY_shader_armature_shape(bool use_outline)
GPUShader * OVERLAY_shader_xray_fade(void)
GPUShader * OVERLAY_shader_armature_wire(void)
GPUShader * OVERLAY_shader_grid(void)
GPUShader * OVERLAY_shader_edit_curve_point(void)
GPUShader * OVERLAY_shader_depth_only(void)
GPUShader * OVERLAY_shader_paint_wire(void)
GPUShader * OVERLAY_shader_armature_envelope(bool use_outline)
GPUShader * OVERLAY_shader_edit_particle_point(void)
GPUShader * OVERLAY_shader_edit_uv_tiled_image_borders_get(void)
GPUShader * OVERLAY_shader_paint_vertcol(void)
GPUShader * OVERLAY_shader_edit_uv_edges_for_edge_select_get(void)
GPUShader * OVERLAY_shader_extra_point(void)
GPUShader * OVERLAY_shader_grid_image(void)
GPUShader * OVERLAY_shader_outline_prepass_gpencil(void)
GPUShader * OVERLAY_shader_antialiasing(void)
GPUShader * OVERLAY_shader_outline_prepass_pointcloud(void)
GPUShader * OVERLAY_shader_gpencil_canvas(void)
struct GPUShader * OVERLAY_shader_uniform_color(void)
GPUShader * OVERLAY_shader_outline_detect(void)
GPUShader * OVERLAY_shader_armature_stick(void)
OVERLAY_InstanceFormats * OVERLAY_shader_instance_formats_get(void)
GPUShader * OVERLAY_shader_facing(void)
static OVERLAY_InstanceFormats g_formats
GPUShader * OVERLAY_shader_paint_texture(void)
GPUShader * OVERLAY_shader_edit_mesh_analysis(void)
GPUShader * OVERLAY_shader_wireframe_select(void)
GPUShader * edit_curve_handle
GPUShader * edit_uv_stencil_image
GPUShader * edit_mesh_face
GPUShader * edit_uv_face_dots
GPUShader * paint_weight[2]
GPUShader * volume_gridlines_sh
GPUShader * armature_envelope_solid
GPUShader * edit_uv_faces
GPUShader * edit_particle_strand
GPUShader * volume_velocity_mac_sh
GPUShader * paint_vertcol
GPUShader * wireframe_select
GPUShader * edit_mesh_normals
GPUShader * grid_background
GPUShader * outline_prepass_pointcloud
GPUShader * edit_uv_verts
GPUShader * edit_uv_stretching_angle
GPUShader * motion_path_vert
GPUShader * outline_detect
GPUShader * edit_mesh_edge_flat
GPUShader * edit_mesh_skin_root
GPUShader * edit_mesh_fnormals
GPUShader * edit_curve_point
GPUShader * armature_shape_solid
GPUShader * volume_gridlines_flags_sh
GPUShader * edit_mesh_edge
GPUShader * outline_prepass_gpencil
GPUShader * sculpt_curves_selection
GPUShader * edit_uv_tiled_image_borders
GPUShader * edit_gpencil_guide_point
GPUShader * uniform_color
GPUShader * edit_mesh_facedot
GPUShader * edit_uv_edges
GPUShader * outline_prepass_curves
GPUShader * particle_shape
GPUShader * outline_prepass
GPUShader * armature_sphere_solid
GPUShader * edit_gpencil_wire
GPUShader * armature_shape_wire
GPUShader * edit_lattice_point
GPUShader * extra_loose_point
GPUShader * edit_lattice_wire
GPUShader * armature_envelope_outline
GPUShader * extra_lightprobe_grid
GPUShader * paint_texture
GPUShader * edit_mesh_vert
GPUShader * edit_mesh_analysis
GPUShader * extra_groundline
GPUShader * edit_gpencil_point
GPUShader * armature_shape_outline
GPUShader * edit_uv_edges_for_edge_select
GPUShader * volume_velocity_needle_sh
GPUShader * extra_wire[2]
GPUShader * armature_stick
GPUShader * outline_prepass_wire
GPUShader * edit_uv_mask_image
GPUShader * pointcloud_dot
GPUShader * armature_dof_wire
GPUShader * armature_wire
GPUShader * edit_particle_point
GPUShader * volume_velocity_sh
GPUShader * edit_mesh_vnormals
GPUShader * edit_curve_wire
GPUShader * extra_wire_select
GPUShader * armature_dof_solid
GPUShader * volume_gridlines_range_sh
GPUShader * gpencil_canvas
GPUShader * edit_uv_stretching_area
GPUShader * armature_sphere_outline
GPUShader * motion_path_line