Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Dobarro <pablodp606@gmail.com>2020-05-14 17:49:18 +0300
committerPablo Dobarro <pablodp606@gmail.com>2020-05-14 17:49:18 +0300
commitdc4983dfdddc49ffd0945b8eed4778b120155d37 (patch)
tree1c4a47742325f54625596f243c916115d191a4b3 /source/blender/draw/engines
parentfa23e313f1c0fcb8a40036502ee7ff952df9ce82 (diff)
parent78e3b7c28d858ca256c99338cf195b9d60f2c3d6 (diff)
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/overlay/overlay_shader.c3
-rw-r--r--source/blender/draw/engines/overlay/shaders/sculpt_mask_frag.glsl10
-rw-r--r--source/blender/draw/engines/overlay/shaders/sculpt_mask_vert.glsl7
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);