【发布时间】:2018-07-15 15:13:46
【问题描述】:
我很难理解以下代码,其想法是在片段着色器中绘制一个简单的段。我试图分解它,但我仍然没有得到???线。 有一个很好的解释会很棒。我在 SO 或 Google 上找不到任何东西。
float lineSegment(vec2 p, vec2 a, vec2 b) {
float thickness = 1.0/100.0;
vec2 pa = p - a;
vec2 ba = b - a;
float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 );
// ????????
float idk = length(pa - ba*h);
return smoothstep(0.0, thickness, idk);
}
【问题讨论】:
标签: glsl shader fragment-shader