From 9d19ff90760755f6dea97a58fa50e5e299ae334e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 22 Dec 2018 21:02:30 +0100 Subject: GPUShader: Add selection id shader This is to separate id drawing from standard color drawing. --- source/blender/gpu/intern/gpu_shader.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/blender/gpu/intern') diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c index 00646223793..6ad6faf86e1 100644 --- a/source/blender/gpu/intern/gpu_shader.c +++ b/source/blender/gpu/intern/gpu_shader.c @@ -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; } -- cgit v1.2.3