43 if (
e_data.hair_refine_sh[refinement] ==
nullptr) {
45 e_data.hair_refine_sh[refinement] = sh;
48 return e_data.hair_refine_sh[refinement];
54 if (
e_data.hair_refine_sh[type] ==
nullptr) {
56 e_data.hair_refine_sh[type] = sh;
59 return e_data.hair_refine_sh[type];
64 if (
e_data.debug_print_display_sh ==
nullptr) {
67 return e_data.debug_print_display_sh;
72 if (
e_data.debug_draw_display_sh ==
nullptr) {
75 return e_data.debug_draw_display_sh;
80 if (
e_data.draw_visibility_compute_sh ==
nullptr) {
82 "draw_visibility_compute");
84 return e_data.draw_visibility_compute_sh;
89 if (
e_data.draw_view_finalize_sh ==
nullptr) {
92 return e_data.draw_view_finalize_sh;
97 if (
e_data.draw_resource_finalize_sh ==
nullptr) {
100 return e_data.draw_resource_finalize_sh;
105 if (
e_data.draw_command_generate_sh ==
nullptr) {
108 return e_data.draw_command_generate_sh;
A dynamically sized string ADT.
#define DRW_SHADER_FREE_SAFE(shader)
GPUShader * GPU_shader_create_from_info_name(const char *info_name)
struct GPUShader GPUShader
@ PART_REFINE_CATMULL_ROM
GPUShader * DRW_shader_draw_visibility_compute_get()
GPUShader * debug_draw_display_sh
GPUShader * DRW_shader_draw_resource_finalize_get()
GPUShader * draw_visibility_compute_sh
static struct @298 e_data
char datatoc_common_hair_lib_glsl[]
GPUShader * DRW_shader_draw_view_finalize_get()
GPUShader * draw_command_generate_sh
GPUShader * draw_view_finalize_sh
GPUShader * draw_resource_finalize_sh
GPUShader * DRW_shader_debug_draw_display_get()
GPUShader * DRW_shader_debug_print_display_get()
GPUShader * debug_print_display_sh
GPUShader * DRW_shader_draw_command_generate_get()
static GPUShader * hair_refine_shader_compute_create(ParticleRefineShader)
GPUShader * DRW_shader_curves_refine_get(blender::draw::CurvesEvalShader type)
GPUShader * DRW_shader_hair_refine_get(ParticleRefineShader refinement)
GPUShader * hair_refine_sh[PART_REFINE_MAX_SHADER]