diff options
author | Mike Erwin <significant.bit@gmail.com> | 2016-10-01 03:44:22 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2016-10-01 03:44:22 +0300 |
commit | 5753a1462ffbaf3bbcb471a5cca58a217988d88d (patch) | |
tree | d7fe4a91851c7dc483e6235290e1f411bc76a386 /source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl | |
parent | d1b21d1278b3f91643fb52ed67320c064e28a0d4 (diff) |
OpenGL: new built-in shaders for drawing points
Both of these draw round points with jaggy edges, but treat color & size differently.
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl new file mode 100644 index 00000000000..91092a9f727 --- /dev/null +++ b/source/blender/gpu/shaders/gpu_shader_point_varying_color_frag.glsl @@ -0,0 +1,21 @@ + +#if __VERSION__ == 120 + varying vec4 finalColor; + #define fragColor gl_FragColor +#else + in vec4 finalColor; + out vec4 fragColor; +#endif + +void main() +{ + vec2 centered = gl_PointCoord - vec2(0.5); + float dist_squared = dot(centered, centered); + const float rad_squared = 0.25; + + // round point with jaggy edges + if (dist_squared > rad_squared) + discard; + + fragColor = finalColor; +} |