Tweak geo shader values

This commit is contained in:
2022-11-28 02:43:26 +11:00
parent 4dc57b64d1
commit 284b7b32a6

View File

@ -8,36 +8,39 @@ out vec4 vColour;
uniform vec4 uColour;
uniform vec2 uScaleFact;
const float widthCoef = 1.0;
const float aaCoef = 1.5;
void main()
{
vec2 n = normalize(gl_in[1].gl_Position.xy - gl_in[0].gl_Position.xy);
vec4 c = vec4(n.yx * vec2(1.0, -1.0) * uScaleFact, 0.0, 0.0);
vec4 from = gl_in[0].gl_Position;
vec4 to = gl_in[1].gl_Position;
vec2 normal = normalize(to.xy - from.xy);
vec4 tangent = vec4(normal.yx * vec2(1.0, -1.0) * uScaleFact, 0.0, 0.0);
const float width = 0.75;
const float fuzz = 2.0;
const float cumulCoef = widthCoef + aaCoef;
vec4 edgeColour = uColour * vec4(1.0, 1.0, 1.0, 0.0);
const float widthFuzz = width + fuzz;
vColour = uColour * vec4(1.0, 1.0, 1.0, 0.0);
gl_Position = gl_in[0].gl_Position - c * widthFuzz;
vColour = edgeColour;
gl_Position = from - tangent * cumulCoef;
EmitVertex();
gl_Position = gl_in[1].gl_Position - c * widthFuzz;
gl_Position = to - tangent * cumulCoef;
EmitVertex();
vColour = uColour;
gl_Position = gl_in[0].gl_Position - c * width;
gl_Position = from - tangent * widthCoef;
EmitVertex();
gl_Position = gl_in[1].gl_Position - c * width;
gl_Position = to - tangent * widthCoef;
EmitVertex();
gl_Position = gl_in[0].gl_Position + c * width;
gl_Position = from + tangent * widthCoef;
EmitVertex();
gl_Position = gl_in[1].gl_Position + c * width;
gl_Position = to + tangent * widthCoef;
EmitVertex();
vColour = uColour * vec4(1.0, 1.0, 1.0, 0.0);
gl_Position = gl_in[0].gl_Position + c * widthFuzz;
vColour = edgeColour;
gl_Position = from + tangent * cumulCoef;
EmitVertex();
gl_Position = gl_in[1].gl_Position + c * widthFuzz;
gl_Position = to + tangent * cumulCoef;
EmitVertex();
}