Initial
This commit is contained in:
43
resources/app/node_modules/@pixi/text-bitmap/lib/shader/msdf.frag.js
generated
vendored
Normal file
43
resources/app/node_modules/@pixi/text-bitmap/lib/shader/msdf.frag.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: !0 });
|
||||
var msdfFrag = `// Pixi texture info\r
|
||||
varying vec2 vTextureCoord;\r
|
||||
uniform sampler2D uSampler;\r
|
||||
\r
|
||||
// Tint\r
|
||||
uniform vec4 uColor;\r
|
||||
\r
|
||||
// on 2D applications fwidth is screenScale / glyphAtlasScale * distanceFieldRange\r
|
||||
uniform float uFWidth;\r
|
||||
\r
|
||||
void main(void) {\r
|
||||
\r
|
||||
// To stack MSDF and SDF we need a non-pre-multiplied-alpha texture.\r
|
||||
vec4 texColor = texture2D(uSampler, vTextureCoord);\r
|
||||
\r
|
||||
// MSDF\r
|
||||
float median = texColor.r + texColor.g + texColor.b -\r
|
||||
min(texColor.r, min(texColor.g, texColor.b)) -\r
|
||||
max(texColor.r, max(texColor.g, texColor.b));\r
|
||||
// SDF\r
|
||||
median = min(median, texColor.a);\r
|
||||
\r
|
||||
float screenPxDistance = uFWidth * (median - 0.5);\r
|
||||
float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\r
|
||||
if (median < 0.01) {\r
|
||||
alpha = 0.0;\r
|
||||
} else if (median > 0.99) {\r
|
||||
alpha = 1.0;\r
|
||||
}\r
|
||||
\r
|
||||
// Gamma correction for coverage-like alpha\r
|
||||
float luma = dot(uColor.rgb, vec3(0.299, 0.587, 0.114));\r
|
||||
float gamma = mix(1.0, 1.0 / 2.2, luma);\r
|
||||
float coverage = pow(uColor.a * alpha, gamma); \r
|
||||
\r
|
||||
// NPM Textures, NPM outputs\r
|
||||
gl_FragColor = vec4(uColor.rgb, coverage);\r
|
||||
}\r
|
||||
`;
|
||||
exports.default = msdfFrag;
|
||||
//# sourceMappingURL=msdf.frag.js.map
|
||||
Reference in New Issue
Block a user