diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl index 9b7d4bfc6d6..8ddf460a3ac 100644 --- a/source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl @@ -5,27 +5,28 @@ in vec4 radii; in vec4 fillColor; out vec4 fragColor; -void main() { - float dist = length(gl_PointCoord - vec2(0.5)); +void main() +{ + float dist = length(gl_PointCoord - vec2(0.5)); -// transparent outside of point -// --- 0 --- -// smooth transition -// --- 1 --- -// pure outline color -// --- 2 --- -// smooth transition -// --- 3 --- -// pure fill color -// ... -// dist = 0 at center of point + // transparent outside of point + // --- 0 --- + // smooth transition + // --- 1 --- + // pure outline color + // --- 2 --- + // smooth transition + // --- 3 --- + // pure fill color + // ... + // dist = 0 at center of point - float midStroke = 0.5 * (radii[1] + radii[2]); + float midStroke = 0.5 * (radii[1] + radii[2]); - if (dist > midStroke) { - fragColor.rgb = outlineColor.rgb; - fragColor.a = mix(outlineColor.a, 0.0, smoothstep(radii[1], radii[0], dist)); - } - else - fragColor = mix(fillColor, outlineColor, smoothstep(radii[3], radii[2], dist)); + if (dist > midStroke) { + fragColor.rgb = outlineColor.rgb; + fragColor.a = mix(outlineColor.a, 0.0, smoothstep(radii[1], radii[0], dist)); + } + else + fragColor = mix(fillColor, outlineColor, smoothstep(radii[3], radii[2], dist)); } |