diff options
author | Pablo Dobarro <pablodp606@gmail.com> | 2020-05-14 17:49:18 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2020-05-14 17:49:18 +0300 |
commit | dc4983dfdddc49ffd0945b8eed4778b120155d37 (patch) | |
tree | 1c4a47742325f54625596f243c916115d191a4b3 /source/blender/draw/engines | |
parent | fa23e313f1c0fcb8a40036502ee7ff952df9ce82 (diff) | |
parent | 78e3b7c28d858ca256c99338cf195b9d60f2c3d6 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/draw/engines')
3 files changed, 17 insertions, 3 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_shader.c b/source/blender/draw/engines/overlay/overlay_shader.c index 264791a6661..59f388df4e3 100644 --- a/source/blender/draw/engines/overlay/overlay_shader.c +++ b/source/blender/draw/engines/overlay/overlay_shader.c @@ -105,6 +105,7 @@ extern char datatoc_particle_frag_glsl[]; extern char datatoc_pointcloud_vert_glsl[]; extern char datatoc_pointcloud_frag_glsl[]; extern char datatoc_sculpt_mask_vert_glsl[]; +extern char datatoc_sculpt_mask_frag_glsl[]; extern char datatoc_volume_velocity_vert_glsl[]; extern char datatoc_wireframe_vert_glsl[]; extern char datatoc_wireframe_frag_glsl[]; @@ -1307,7 +1308,7 @@ GPUShader *OVERLAY_shader_sculpt_mask(void) datatoc_common_view_lib_glsl, datatoc_sculpt_mask_vert_glsl, NULL}, - .frag = (const char *[]){datatoc_gpu_shader_3D_smooth_color_frag_glsl, NULL}, + .frag = (const char *[]){datatoc_sculpt_mask_frag_glsl, NULL}, .defs = (const char *[]){sh_cfg->def, NULL}, }); } diff --git a/source/blender/draw/engines/overlay/shaders/sculpt_mask_frag.glsl b/source/blender/draw/engines/overlay/shaders/sculpt_mask_frag.glsl new file mode 100644 index 00000000000..a778e518392 --- /dev/null +++ b/source/blender/draw/engines/overlay/shaders/sculpt_mask_frag.glsl @@ -0,0 +1,10 @@ + +flat in vec3 faceset_color; +in float mask_color; + +out vec4 fragColor; + +void main() +{ + fragColor = vec4(faceset_color * vec3(mask_color), 1.0); +} diff --git a/source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl b/source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl index 5d79195a40b..f2b827738ac 100644 --- a/source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl @@ -8,13 +8,16 @@ in float msk; out vec4 finalColor; +flat out vec3 faceset_color; +out float mask_color; + void main() { vec3 world_pos = point_object_to_world(pos); gl_Position = point_world_to_ndc(world_pos); - finalColor = vec4(mix(vec3(1.0), fset, faceSetsOpacity), 1.0); - finalColor.rgb *= (1.0 - (msk * maskOpacity)); + faceset_color = mix(vec3(1.0), fset, faceSetsOpacity); + mask_color = 1.0 - (msk * maskOpacity); #ifdef USE_WORLD_CLIP_PLANES world_clip_planes_calc_clip_distance(world_pos); |