|
|
- #version 330
-
- // Input vertex attributes (from vertex shader)
- in vec2 fragTexCoord;
- in vec4 fragColor;
-
- // Input uniform values
- uniform sampler2D texture0;
- uniform vec4 colDiffuse;
-
- // Output fragment color
- out vec4 finalColor;
-
- // NOTE: Add here your custom variables
-
- void main()
- {
- // Texel color fetching from texture sampler
- // NOTE: Calculate alpha using signed distance field (SDF)
- float distanceFromOutline = texture(texture0, fragTexCoord).a - 0.5;
- float distanceChangePerFragment = length(vec2(dFdx(distanceFromOutline), dFdy(distanceFromOutline)));
- float alpha = smoothstep(-distanceChangePerFragment, distanceChangePerFragment, distanceFromOutline);
-
- // Calculate final fragment color
- finalColor = vec4(fragColor.rgb, fragColor.a*alpha);
- }
|