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_normals_finalize";
70 return "subdiv_custom_normals_finalize";
73 return "subdiv_loop_normals";
97 return get_static_cache().
get();
101 get_static_cache().release();
125 std::string info_name =
"subdiv_custom_data_interp";
126 const char *dimension_names[] = {
"_1d",
"_2d",
"_3d",
"_4d"};
127 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 draw_command_generate
gpu::StaticShader draw_view_finalize
gpu::StaticShader debug_draw_display
gpu::StaticShader subdiv_sh[SUBDIVISION_MAX_SHADERS]
gpu::StaticShader hair_refine
static ShaderCache & get()
gpu::StaticShader subdiv_custom_data_sh[SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS][GPU_COMP_MAX]
static blender::StringRefNull get_subdiv_shader_info_name(SubdivShaderType shader_type)
GPUShader * DRW_shader_subdiv_custom_data_get(GPUVertCompType comp_type, int dimensions)
GPUShader * DRW_shader_draw_visibility_compute_get()
GPUShader * DRW_shader_subdiv_get(SubdivShaderType shader_type)
GPUShader * DRW_shader_hair_refine_get(ParticleRefineShader)
GPUShader * DRW_shader_draw_resource_finalize_get()
GPUShader * DRW_shader_curves_refine_get(blender::draw::CurvesEvalShader)
GPUShader * DRW_shader_draw_view_finalize_get()
GPUShader * DRW_shader_debug_draw_display_get()
#define SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS
GPUShader * DRW_shader_draw_command_generate_get()
constexpr int SUBDIVISION_MAX_SHADERS
@ PATCH_EVALUATION_FACE_DOTS
@ BUFFER_NORMALS_FINALIZE
@ BUFFER_UV_STRETCH_ANGLE
@ COMP_CUSTOM_DATA_INTERP
@ BUFFER_CUSTOM_NORMALS_FINALIZE
@ BUFFER_NORMALS_ACCUMULATE
@ PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS
@ BUFFER_TRIS_MULTIPLE_MATERIALS