GPUShader: Add selection id shader

This is to separate id drawing from standard color drawing.
This commit is contained in:
2018-12-22 21:02:30 +01:00
parent 943852c0dc
commit 9d19ff9076
5 changed files with 64 additions and 0 deletions

View File

@@ -146,6 +146,9 @@ extern char datatoc_gpu_shader_2D_edituvs_edges_vert_glsl[];
extern char datatoc_gpu_shader_2D_edituvs_faces_vert_glsl[];
extern char datatoc_gpu_shader_2D_edituvs_stretch_vert_glsl[];
extern char datatoc_gpu_shader_3D_selection_id_vert_glsl[];
extern char datatoc_gpu_shader_selection_id_frag_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_uniform_color_vert_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_frag_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_geom_glsl[];
@@ -940,6 +943,13 @@ static const GPUShaderStages builtin_shader_stages[GPU_NUM_BUILTIN_SHADERS] = {
{ datatoc_gpu_shader_2D_edituvs_stretch_vert_glsl,
datatoc_gpu_shader_2D_smooth_color_frag_glsl },
[GPU_SHADER_3D_FLAT_SELECT_ID] =
{ datatoc_gpu_shader_3D_selection_id_vert_glsl,
datatoc_gpu_shader_selection_id_frag_glsl },
[GPU_SHADER_3D_UNIFORM_SELECT_ID] =
{ datatoc_gpu_shader_3D_selection_id_vert_glsl,
datatoc_gpu_shader_selection_id_frag_glsl },
[GPU_SHADER_GPENCIL_STROKE] =
{ datatoc_gpu_shader_gpencil_stroke_vert_glsl,
datatoc_gpu_shader_gpencil_stroke_frag_glsl,
@@ -1007,6 +1017,9 @@ static const char *gpu_shader_get_builtin_shader_defines(
case GPU_SHADER_2D_UV_EDGES_SMOOTH:
return "#define SMOOTH_COLOR\n";
case GPU_SHADER_3D_UNIFORM_SELECT_ID:
return "#define UNIFORM_ID\n";
default:
return NULL;
}