diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl index eae5ee633ae..1c1301dd818 100644 --- a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl @@ -5,32 +5,33 @@ uniform vec4 outlineColor; in vec4 radii; 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 point color -// ... -// dist = 0 at center of point + // transparent outside of point + // --- 0 --- + // smooth transition + // --- 1 --- + // pure outline color + // --- 2 --- + // smooth transition + // --- 3 --- + // pure point 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(color, 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(color, outlineColor, smoothstep(radii[3], radii[2], dist)); + } - if (fragColor.a == 0.0) { - discard; - } + if (fragColor.a == 0.0) { + discard; + } } |