diff options
author | Mike Erwin <significant.bit@gmail.com> | 2017-02-28 10:18:52 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2017-02-28 10:18:52 +0300 |
commit | 8a76049e84c79c6267c3c51fe32145f0ebf7805c (patch) | |
tree | 4adbfad5728d98aeb64bebec5a8cb3a69086844f /source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl | |
parent | e7d57628c955c1843c70c8fc5023f5d8954847bd (diff) |
rename built-in point shaders, SMOOTH --> AA
Updated shader names and code that uses them.
All of these shaders produce round points that are anti-aliased and blended against the background.
These were initially named SMOOTH because they replace glEnable(GL_POINT_SMOOTH). But SMOOTH in shader-land refers to vertex attribute interpolation (like glShadeModel(GL_SMOOTH)).
Using SMOOTH to mean two things is confusing, so we now use AA to mean "the point is anti-aliased".
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl new file mode 100644 index 00000000000..8c8d81f6997 --- /dev/null +++ b/source/blender/gpu/shaders/gpu_shader_point_uniform_color_aa_frag.glsl @@ -0,0 +1,25 @@ + +uniform vec4 color; + +#if __VERSION__ == 120 + varying vec2 radii; + #define fragColor gl_FragColor +#else + in vec2 radii; + out vec4 fragColor; +#endif + +void main() { + float dist = length(gl_PointCoord - vec2(0.5)); + +// transparent outside of point +// --- 0 --- +// smooth transition +// --- 1 --- +// pure point color +// ... +// dist = 0 at center of point + + fragColor.rgb = color.rgb; + fragColor.a = mix(color.a, 0.0, smoothstep(radii[1], radii[0], dist)); +} |