Update shader
This commit is contained in:
1 parent
75b76fc236
commit
b2a0901369
3 files changed
+75
-13
No files matched your search
+35
-3
@@ -3,14 +3,46 @@ varying vec4 color;
|
||||
varying vec3 position;
|
||||
|
||||
uniform vec4 lineParams;
|
||||
uniform vec4 startPointEndPoint;
|
||||
|
||||
void main()
|
||||
{
|
||||
float a = lineParams.x;
|
||||
float b = lineParams.y;
|
||||
float c = lineParams.z;
|
||||
|
||||
float distance = abs(a*position.x + b*position.y + c);
|
||||
|
||||
gl_FragColor = vec4(color.rgb, color.a*clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0));
|
||||
float Xa = startPointEndPoint.r;
|
||||
float Ya = startPointEndPoint.g;
|
||||
|
||||
float Xb = startPointEndPoint.b;
|
||||
float Yb = startPointEndPoint.a;
|
||||
|
||||
|
||||
|
||||
float distance;
|
||||
|
||||
|
||||
float distanceToA = (Xa - position.x)*(Xb - Xa) + (Ya - position.y)*(Yb - Ya);
|
||||
|
||||
float distanceToB = (Xb - position.x)*(Xb - Xa) + (Yb - position.y)*(Yb - Ya);
|
||||
|
||||
|
||||
|
||||
if (distanceToA * distanceToB > 0)
|
||||
{
|
||||
float len = sqrt((Xb - Xa)*(Xb - Xa) + (Yb - Ya)*(Yb - Ya));
|
||||
distance = max(abs(distanceToA/len), abs(distanceToB/len));
|
||||
}
|
||||
else
|
||||
{
|
||||
distance = abs(a*position.x + b*position.y + c);
|
||||
}
|
||||
|
||||
|
||||
float t = clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0);
|
||||
|
||||
|
||||
gl_FragColor = vec4(color.rgb, color.a*t);
|
||||
|
||||
//gl_FragColor = vec4(color.rgb*clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0), 1.0);
|
||||
}
|
||||
@@ -42,5 +42,6 @@ void main()
|
||||
distance = min(distance, abs(lineParams15.x*position.x + lineParams15.y*position.y + lineParams15.z));
|
||||
|
||||
|
||||
gl_FragColor = vec4(color.rgb, color.a*clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0));
|
||||
//gl_FragColor = vec4(color.rgb, color.a*clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0));
|
||||
gl_FragColor = vec4(color.rgb*clamp(1.2 / (distance + 1.0) - 0.5, 0.0, 1.0), 1.0);
|
||||
}
|
||||
Reference in new issue
Block a user