shadertoy上学习制作基本2D图元,包括Circle、Line、Box、Triangle、Pie、Arc、Polygon、Ellipse等,参考链接:http://www.iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
shadertoy练习:
线:
//线line
float sdLine(in vec2 p,in vec2 a,in vec2 b)
{
vec2 pa = p-a, ba = b-a;
float h = clamp(dot(pa, ba)/dot(ba, ba), 0.0, 1.0);
return length(pa - ba*h);
}
椭圆:
//圆圈circle
float sdCircle( vec2 p, float r )
{
return length(p) - r;
}
//椭圆或圆圈ellipse或circle
float sdEllipse( vec2 p