Hello, I want to use BMFont with THREE.js, but all the tuts I found use require
and ‘.fnt’ font file.
How to use import
or normal .js file and ‘.json’ font file?
Hello, I want to use BMFont with THREE.js, but all the tuts I found use require
and ‘.fnt’ font file.
How to use import
or normal .js file and ‘.json’ font file?
I suggest you ask this question at the respective GitHub repo.
Okay, thanks. After searching this repo, I found some related issues, I will look into it first.
While looking for a 3D text solution for three-mesh-ui, I came across this package, but it’s really hard to decipher… There is a lot of small useless dependencies, the bundling is unconventional, comments are sparse… I ended up coding my own MSDF font shader and I’m very happy with the result.
Feel free to tinker with three-mesh-ui, and if you want to code your own thing you might be interested about this this article and in particular this bit of fragment shader :
#version 330 core
in vec3 texCoords;
in vec4 fragColor;
out vec4 color;
uniform sampler2DArray msdf;
float median(float r, float g, float b) {
return max(min(r, g), min(max(r, g), b));
}
void main()
{
vec3 flipped_texCoords = vec3(texCoords.x, 1.0 - texCoords.y, texCoords.z);
vec2 pos = flipped_texCoords.xy;
vec3 sample = texture(msdf, flipped_texCoords).rgb;
ivec2 sz = textureSize(msdf, 0).xy;
float dx = dFdx(pos.x) * sz.x;
float dy = dFdy(pos.y) * sz.y;
float toPixels = 8.0 * inversesqrt(dx * dx + dy * dy);
float sigDist = median(sample.r, sample.g, sample.b);
float w = fwidth(sigDist);
float opacity = smoothstep(0.5 - w, 0.5 + w, sigDist);
color = vec4(fragColor.rgb, opacity);
}
@felixmariotto Thanks! I’ll try it.
@felixmariotto Success! three-mesh-ui is very easy to use, and already comes with wrapping and alignment functions.
Great job, thanks a lot!
I’m glad you find it useful
Hello @felixmariotto, I found a problem and made an issue, could you please solve it?
@felixmariotto Another question is, can you please confirm that three-mesh-ui also uses bitmap fonts technology?
Hi @gonnavis. Yes it does, it uses the fonts generated from @donmccurdy’s msdf generator, which is a wrapper around this package
edit: I fixed your issue