19#define SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS 4
23 switch (shader_type) {
25 return "subdiv_lines";
28 return "subdiv_lines_loose";
31 return "subdiv_tris_single_material";
34 return "subdiv_tris_multiple_materials";
37 return "subdiv_edge_fac";
40 return "subdiv_sculpt_data";
43 return "subdiv_patch_evaluation_verts";
46 return "subdiv_patch_evaluation_fvar";
49 return "subdiv_patch_evaluation_fdots";
52 return "subdiv_patch_evaluation_fdots_normals";
55 return "subdiv_patch_evaluation_verts_orcos";
58 return "subdiv_edituv_stretch_angle";
61 return "subdiv_edituv_stretch_area";
64 return "subdiv_normals_accumulate";
67 return "subdiv_paint_overlay_flag";
70 return "subdiv_loop_normals";
94 return get_static_cache().
get();
98 get_static_cache().release();
117 "subdiv_custom_data_interp_3d_f32_normalize"};
130 std::string info_name =
"subdiv_custom_data_interp";
131 const char *dimension_names[] = {
"_1d",
"_2d",
"_3d",
"_4d"};
132 info_name += dimension_names[dimension];
#define BLI_assert_unreachable()
constexpr const char * c_str() const
gpu::StaticShader draw_resource_finalize
gpu::StaticShader draw_visibility_compute
gpu::StaticShader curves_topology
gpu::StaticShader draw_command_generate
gpu::StaticShader draw_view_finalize
gpu::StaticShader curves_evaluate_length_intercept
gpu::StaticShader debug_draw_display
gpu::StaticShader subdiv_sh[SUBDIVISION_MAX_SHADERS]
gpu::StaticShader curves_evaluate_float
gpu::StaticShader curves_evaluate_float2
gpu::StaticShader subdiv_interp_corner_normals_sh
gpu::StaticShader curves_evaluate_float3
gpu::StaticShader curves_evaluate_position
gpu::StaticShader curves_evaluate_float4
static ShaderCache & get()
gpu::StaticShader subdiv_custom_data_sh[SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS][GPU_COMP_MAX]
blender::gpu::Shader * get()
blender::gpu::Shader * DRW_shader_draw_view_finalize_get()
static blender::StringRefNull get_subdiv_shader_info_name(SubdivShaderType shader_type)
blender::gpu::Shader * DRW_shader_subdiv_get(SubdivShaderType shader_type)
blender::gpu::Shader * DRW_shader_subdiv_interp_corner_normals_get()
blender::gpu::Shader * DRW_shader_curves_refine_get(blender::draw::CurvesEvalShader type)
blender::gpu::Shader * DRW_shader_subdiv_custom_data_get(GPUVertCompType comp_type, int dimensions)
blender::gpu::Shader * DRW_shader_debug_draw_display_get()
blender::gpu::Shader * DRW_shader_curves_topology_get()
blender::gpu::Shader * DRW_shader_draw_visibility_compute_get()
blender::gpu::Shader * DRW_shader_draw_command_generate_get()
#define SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS
blender::gpu::Shader * DRW_shader_draw_resource_finalize_get()
constexpr int SUBDIVISION_MAX_SHADERS
@ PATCH_EVALUATION_FACE_DOTS
@ BUFFER_PAINT_OVERLAY_FLAG
@ BUFFER_UV_STRETCH_ANGLE
@ COMP_CUSTOM_DATA_INTERP
@ BUFFER_NORMALS_ACCUMULATE
@ PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS
@ BUFFER_TRIS_MULTIPLE_MATERIALS
@ CURVES_EVAL_LENGTH_INTERCEPT