sdfsdfs
This commit is contained in:
24
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.d.ts
generated
vendored
Normal file
24
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
export declare const localUniformMSDFBit: {
|
||||
name: string;
|
||||
vertex: {
|
||||
header: string;
|
||||
main: string;
|
||||
end: string;
|
||||
};
|
||||
fragment: {
|
||||
header: string;
|
||||
main: string;
|
||||
};
|
||||
};
|
||||
export declare const localUniformMSDFBitGl: {
|
||||
name: string;
|
||||
vertex: {
|
||||
header: string;
|
||||
main: string;
|
||||
end: string;
|
||||
};
|
||||
fragment: {
|
||||
header: string;
|
||||
main: string;
|
||||
};
|
||||
};
|
104
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js
generated
vendored
Normal file
104
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
'use strict';
|
||||
|
||||
"use strict";
|
||||
const localUniformMSDFBit = {
|
||||
name: "local-uniform-msdf-bit",
|
||||
vertex: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
struct LocalUniforms {
|
||||
uColor:vec4<f32>,
|
||||
uTransformMatrix:mat3x3<f32>,
|
||||
uDistance: f32,
|
||||
uRound:f32,
|
||||
}
|
||||
|
||||
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* wgsl */
|
||||
`
|
||||
vColor *= localUniforms.uColor;
|
||||
modelMatrix *= localUniforms.uTransformMatrix;
|
||||
`
|
||||
),
|
||||
end: (
|
||||
/* wgsl */
|
||||
`
|
||||
if(localUniforms.uRound == 1)
|
||||
{
|
||||
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
||||
}
|
||||
`
|
||||
)
|
||||
},
|
||||
fragment: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
struct LocalUniforms {
|
||||
uColor:vec4<f32>,
|
||||
uTransformMatrix:mat3x3<f32>,
|
||||
uDistance: f32
|
||||
}
|
||||
|
||||
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* wgsl */
|
||||
`
|
||||
outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
const localUniformMSDFBitGl = {
|
||||
name: "local-uniform-msdf-bit",
|
||||
vertex: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
uniform mat3 uTransformMatrix;
|
||||
uniform vec4 uColor;
|
||||
uniform float uRound;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* glsl */
|
||||
`
|
||||
vColor *= uColor;
|
||||
modelMatrix *= uTransformMatrix;
|
||||
`
|
||||
),
|
||||
end: (
|
||||
/* glsl */
|
||||
`
|
||||
if(uRound == 1.)
|
||||
{
|
||||
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
||||
}
|
||||
`
|
||||
)
|
||||
},
|
||||
fragment: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
uniform float uDistance;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* glsl */
|
||||
`
|
||||
outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
|
||||
exports.localUniformMSDFBit = localUniformMSDFBit;
|
||||
exports.localUniformMSDFBitGl = localUniformMSDFBitGl;
|
||||
//# sourceMappingURL=localUniformMSDFBit.js.map
|
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"localUniformMSDFBit.js","sources":["../../../../../src/scene/text/sdfShader/shader-bits/localUniformMSDFBit.ts"],"sourcesContent":["// TODO eventually we should not use this bit, but instead use the localUniformBit\n// have the MSDF bit be merged in with the localUniformBit\n\nexport const localUniformMSDFBit = {\n name: 'local-uniform-msdf-bit',\n vertex: {\n header: /* wgsl */`\n struct LocalUniforms {\n uColor:vec4<f32>,\n uTransformMatrix:mat3x3<f32>,\n uDistance: f32,\n uRound:f32,\n }\n\n @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;\n `,\n main: /* wgsl */`\n vColor *= localUniforms.uColor;\n modelMatrix *= localUniforms.uTransformMatrix;\n `,\n end: /* wgsl */`\n if(localUniforms.uRound == 1)\n {\n vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);\n }\n `\n },\n fragment: {\n header: /* wgsl */`\n struct LocalUniforms {\n uColor:vec4<f32>,\n uTransformMatrix:mat3x3<f32>,\n uDistance: f32\n }\n\n @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;\n `,\n main: /* wgsl */` \n outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));\n `\n\n }\n};\n\nexport const localUniformMSDFBitGl = {\n name: 'local-uniform-msdf-bit',\n vertex: {\n header: /* glsl */`\n uniform mat3 uTransformMatrix;\n uniform vec4 uColor;\n uniform float uRound;\n `,\n main: /* glsl */`\n vColor *= uColor;\n modelMatrix *= uTransformMatrix;\n `,\n end: /* glsl */`\n if(uRound == 1.)\n {\n gl_Position.xy = roundPixels(gl_Position.xy, uResolution);\n }\n `\n },\n fragment: {\n header: /* glsl */`\n uniform float uDistance;\n `,\n main: /* glsl */` \n outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));\n `\n\n }\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,mBAAsB,GAAA;AAAA,EAC/B,IAAM,EAAA,wBAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAUlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAMnB;AAAA,EACA,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,CAAA;AAAA,KAAA;AAAA,IASlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAIpB;AACJ,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACjC,IAAM,EAAA,wBAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAKlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAMnB;AAAA,EACA,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA,SAAA,CAAA;AAAA,KAAA;AAAA,IAGlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAIpB;AACJ;;;;;"}
|
101
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.mjs
generated
vendored
Normal file
101
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.mjs
generated
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
"use strict";
|
||||
const localUniformMSDFBit = {
|
||||
name: "local-uniform-msdf-bit",
|
||||
vertex: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
struct LocalUniforms {
|
||||
uColor:vec4<f32>,
|
||||
uTransformMatrix:mat3x3<f32>,
|
||||
uDistance: f32,
|
||||
uRound:f32,
|
||||
}
|
||||
|
||||
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* wgsl */
|
||||
`
|
||||
vColor *= localUniforms.uColor;
|
||||
modelMatrix *= localUniforms.uTransformMatrix;
|
||||
`
|
||||
),
|
||||
end: (
|
||||
/* wgsl */
|
||||
`
|
||||
if(localUniforms.uRound == 1)
|
||||
{
|
||||
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
||||
}
|
||||
`
|
||||
)
|
||||
},
|
||||
fragment: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
struct LocalUniforms {
|
||||
uColor:vec4<f32>,
|
||||
uTransformMatrix:mat3x3<f32>,
|
||||
uDistance: f32
|
||||
}
|
||||
|
||||
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* wgsl */
|
||||
`
|
||||
outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
const localUniformMSDFBitGl = {
|
||||
name: "local-uniform-msdf-bit",
|
||||
vertex: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
uniform mat3 uTransformMatrix;
|
||||
uniform vec4 uColor;
|
||||
uniform float uRound;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* glsl */
|
||||
`
|
||||
vColor *= uColor;
|
||||
modelMatrix *= uTransformMatrix;
|
||||
`
|
||||
),
|
||||
end: (
|
||||
/* glsl */
|
||||
`
|
||||
if(uRound == 1.)
|
||||
{
|
||||
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
||||
}
|
||||
`
|
||||
)
|
||||
},
|
||||
fragment: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
uniform float uDistance;
|
||||
`
|
||||
),
|
||||
main: (
|
||||
/* glsl */
|
||||
`
|
||||
outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
|
||||
export { localUniformMSDFBit, localUniformMSDFBitGl };
|
||||
//# sourceMappingURL=localUniformMSDFBit.mjs.map
|
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.mjs.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"localUniformMSDFBit.mjs","sources":["../../../../../src/scene/text/sdfShader/shader-bits/localUniformMSDFBit.ts"],"sourcesContent":["// TODO eventually we should not use this bit, but instead use the localUniformBit\n// have the MSDF bit be merged in with the localUniformBit\n\nexport const localUniformMSDFBit = {\n name: 'local-uniform-msdf-bit',\n vertex: {\n header: /* wgsl */`\n struct LocalUniforms {\n uColor:vec4<f32>,\n uTransformMatrix:mat3x3<f32>,\n uDistance: f32,\n uRound:f32,\n }\n\n @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;\n `,\n main: /* wgsl */`\n vColor *= localUniforms.uColor;\n modelMatrix *= localUniforms.uTransformMatrix;\n `,\n end: /* wgsl */`\n if(localUniforms.uRound == 1)\n {\n vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);\n }\n `\n },\n fragment: {\n header: /* wgsl */`\n struct LocalUniforms {\n uColor:vec4<f32>,\n uTransformMatrix:mat3x3<f32>,\n uDistance: f32\n }\n\n @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;\n `,\n main: /* wgsl */` \n outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));\n `\n\n }\n};\n\nexport const localUniformMSDFBitGl = {\n name: 'local-uniform-msdf-bit',\n vertex: {\n header: /* glsl */`\n uniform mat3 uTransformMatrix;\n uniform vec4 uColor;\n uniform float uRound;\n `,\n main: /* glsl */`\n vColor *= uColor;\n modelMatrix *= uTransformMatrix;\n `,\n end: /* glsl */`\n if(uRound == 1.)\n {\n gl_Position.xy = roundPixels(gl_Position.xy, uResolution);\n }\n `\n },\n fragment: {\n header: /* glsl */`\n uniform float uDistance;\n `,\n main: /* glsl */` \n outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));\n `\n\n }\n};\n"],"names":[],"mappings":";AAGO,MAAM,mBAAsB,GAAA;AAAA,EAC/B,IAAM,EAAA,wBAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAUlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAMnB;AAAA,EACA,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,CAAA;AAAA,KAAA;AAAA,IASlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAIpB;AACJ,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACjC,IAAM,EAAA,wBAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACJ,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAKlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,IAIhB,GAAA;AAAA;AAAA,MAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAMnB;AAAA,EACA,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA,SAAA,CAAA;AAAA,KAAA;AAAA,IAGlB,IAAA;AAAA;AAAA,MAAgB,CAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GAIpB;AACJ;;;;"}
|
12
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.d.ts
generated
vendored
Normal file
12
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
export declare const mSDFBit: {
|
||||
name: string;
|
||||
fragment: {
|
||||
header: string;
|
||||
};
|
||||
};
|
||||
export declare const mSDFBitGl: {
|
||||
name: string;
|
||||
fragment: {
|
||||
header: string;
|
||||
};
|
||||
};
|
79
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js
generated
vendored
Normal file
79
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
'use strict';
|
||||
|
||||
"use strict";
|
||||
const mSDFBit = {
|
||||
name: "msdf-bit",
|
||||
fragment: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {
|
||||
|
||||
// MSDF
|
||||
var median = msdfColor.r + msdfColor.g + msdfColor.b -
|
||||
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
||||
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
||||
|
||||
// SDF
|
||||
median = min(median, msdfColor.a);
|
||||
|
||||
var screenPxDistance = distance * (median - 0.5);
|
||||
var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
||||
if (median < 0.01) {
|
||||
alpha = 0.0;
|
||||
} else if (median > 0.99) {
|
||||
alpha = 1.0;
|
||||
}
|
||||
|
||||
// Gamma correction for coverage-like alpha
|
||||
var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));
|
||||
var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);
|
||||
var coverage: f32 = pow(shapeColor.a * alpha, gamma);
|
||||
|
||||
return coverage;
|
||||
|
||||
}
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
const mSDFBitGl = {
|
||||
name: "msdf-bit",
|
||||
fragment: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {
|
||||
|
||||
// MSDF
|
||||
float median = msdfColor.r + msdfColor.g + msdfColor.b -
|
||||
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
||||
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
||||
|
||||
// SDF
|
||||
median = min(median, msdfColor.a);
|
||||
|
||||
float screenPxDistance = distance * (median - 0.5);
|
||||
float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
||||
|
||||
if (median < 0.01) {
|
||||
alpha = 0.0;
|
||||
} else if (median > 0.99) {
|
||||
alpha = 1.0;
|
||||
}
|
||||
|
||||
// Gamma correction for coverage-like alpha
|
||||
float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));
|
||||
float gamma = mix(1.0, 1.0 / 2.2, luma);
|
||||
float coverage = pow(shapeColor.a * alpha, gamma);
|
||||
|
||||
return coverage;
|
||||
}
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
|
||||
exports.mSDFBit = mSDFBit;
|
||||
exports.mSDFBitGl = mSDFBitGl;
|
||||
//# sourceMappingURL=mSDFBit.js.map
|
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"mSDFBit.js","sources":["../../../../../src/scene/text/sdfShader/shader-bits/mSDFBit.ts"],"sourcesContent":["export const mSDFBit = {\n name: 'msdf-bit',\n fragment: {\n header: /* wgsl */`\n fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {\n \n // MSDF\n var median = msdfColor.r + msdfColor.g + msdfColor.b -\n min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -\n max(msdfColor.r, max(msdfColor.g, msdfColor.b));\n \n // SDF\n median = min(median, msdfColor.a);\n\n var screenPxDistance = distance * (median - 0.5);\n var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\n if (median < 0.01) {\n alpha = 0.0;\n } else if (median > 0.99) {\n alpha = 1.0;\n }\n\n // Gamma correction for coverage-like alpha\n var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));\n var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);\n var coverage: f32 = pow(shapeColor.a * alpha, gamma);\n\n return coverage;\n \n }\n `,\n }\n\n};\n\nexport const mSDFBitGl = {\n name: 'msdf-bit',\n fragment: {\n header: /* glsl */`\n float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {\n \n // MSDF\n float median = msdfColor.r + msdfColor.g + msdfColor.b -\n min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -\n max(msdfColor.r, max(msdfColor.g, msdfColor.b));\n \n // SDF\n median = min(median, msdfColor.a);\n \n float screenPxDistance = distance * (median - 0.5);\n float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\n \n if (median < 0.01) {\n alpha = 0.0;\n } else if (median > 0.99) {\n alpha = 1.0;\n }\n\n // Gamma correction for coverage-like alpha\n float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));\n float gamma = mix(1.0, 1.0 / 2.2, luma);\n float coverage = pow(shapeColor.a * alpha, gamma); \n \n return coverage;\n }\n `,\n }\n\n};\n"],"names":[],"mappings":";;;AAAO,MAAM,OAAU,GAAA;AAAA,EACnB,IAAM,EAAA,UAAA;AAAA,EACN,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GA4BtB;AAEJ,EAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACrB,IAAM,EAAA,UAAA;AAAA,EACN,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GA4BtB;AAEJ;;;;;"}
|
76
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.mjs
generated
vendored
Normal file
76
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.mjs
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
const mSDFBit = {
|
||||
name: "msdf-bit",
|
||||
fragment: {
|
||||
header: (
|
||||
/* wgsl */
|
||||
`
|
||||
fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {
|
||||
|
||||
// MSDF
|
||||
var median = msdfColor.r + msdfColor.g + msdfColor.b -
|
||||
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
||||
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
||||
|
||||
// SDF
|
||||
median = min(median, msdfColor.a);
|
||||
|
||||
var screenPxDistance = distance * (median - 0.5);
|
||||
var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
||||
if (median < 0.01) {
|
||||
alpha = 0.0;
|
||||
} else if (median > 0.99) {
|
||||
alpha = 1.0;
|
||||
}
|
||||
|
||||
// Gamma correction for coverage-like alpha
|
||||
var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));
|
||||
var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);
|
||||
var coverage: f32 = pow(shapeColor.a * alpha, gamma);
|
||||
|
||||
return coverage;
|
||||
|
||||
}
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
const mSDFBitGl = {
|
||||
name: "msdf-bit",
|
||||
fragment: {
|
||||
header: (
|
||||
/* glsl */
|
||||
`
|
||||
float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {
|
||||
|
||||
// MSDF
|
||||
float median = msdfColor.r + msdfColor.g + msdfColor.b -
|
||||
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
||||
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
||||
|
||||
// SDF
|
||||
median = min(median, msdfColor.a);
|
||||
|
||||
float screenPxDistance = distance * (median - 0.5);
|
||||
float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
||||
|
||||
if (median < 0.01) {
|
||||
alpha = 0.0;
|
||||
} else if (median > 0.99) {
|
||||
alpha = 1.0;
|
||||
}
|
||||
|
||||
// Gamma correction for coverage-like alpha
|
||||
float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));
|
||||
float gamma = mix(1.0, 1.0 / 2.2, luma);
|
||||
float coverage = pow(shapeColor.a * alpha, gamma);
|
||||
|
||||
return coverage;
|
||||
}
|
||||
`
|
||||
)
|
||||
}
|
||||
};
|
||||
|
||||
export { mSDFBit, mSDFBitGl };
|
||||
//# sourceMappingURL=mSDFBit.mjs.map
|
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.mjs.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"mSDFBit.mjs","sources":["../../../../../src/scene/text/sdfShader/shader-bits/mSDFBit.ts"],"sourcesContent":["export const mSDFBit = {\n name: 'msdf-bit',\n fragment: {\n header: /* wgsl */`\n fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {\n \n // MSDF\n var median = msdfColor.r + msdfColor.g + msdfColor.b -\n min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -\n max(msdfColor.r, max(msdfColor.g, msdfColor.b));\n \n // SDF\n median = min(median, msdfColor.a);\n\n var screenPxDistance = distance * (median - 0.5);\n var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\n if (median < 0.01) {\n alpha = 0.0;\n } else if (median > 0.99) {\n alpha = 1.0;\n }\n\n // Gamma correction for coverage-like alpha\n var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));\n var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);\n var coverage: f32 = pow(shapeColor.a * alpha, gamma);\n\n return coverage;\n \n }\n `,\n }\n\n};\n\nexport const mSDFBitGl = {\n name: 'msdf-bit',\n fragment: {\n header: /* glsl */`\n float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {\n \n // MSDF\n float median = msdfColor.r + msdfColor.g + msdfColor.b -\n min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -\n max(msdfColor.r, max(msdfColor.g, msdfColor.b));\n \n // SDF\n median = min(median, msdfColor.a);\n \n float screenPxDistance = distance * (median - 0.5);\n float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\n \n if (median < 0.01) {\n alpha = 0.0;\n } else if (median > 0.99) {\n alpha = 1.0;\n }\n\n // Gamma correction for coverage-like alpha\n float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));\n float gamma = mix(1.0, 1.0 / 2.2, luma);\n float coverage = pow(shapeColor.a * alpha, gamma); \n \n return coverage;\n }\n `,\n }\n\n};\n"],"names":[],"mappings":";AAAO,MAAM,OAAU,GAAA;AAAA,EACnB,IAAM,EAAA,UAAA;AAAA,EACN,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GA4BtB;AAEJ,EAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACrB,IAAM,EAAA,UAAA;AAAA,EACN,QAAU,EAAA;AAAA,IACN,MAAA;AAAA;AAAA,MAAkB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,CAAA;AAAA,KAAA;AAAA,GA4BtB;AAEJ;;;;"}
|
Reference in New Issue
Block a user