如何从带符号的距离字段中计算出characterWidth和characterEdge值

问题描述

我目前正在执行文本渲染,并且已经完成了99%,我在这里使用了带符号的距离字段。顶点的创建已经完成,唯一缺少的是片段着色器。到目前为止,我有以下着色器代码

in vec2 textureCoords;
uniform vec3 textColor;
uniform sampler2D fontAtlas;
uniform float characterWidth = 0.51;
uniform float characterEdge = 0.02;
out vec4 outColor;

void main(void) {

    float distance = texture(fontAtlas,textureCoords).a;

    float textTransparency = smoothstep(characterWidth,characterWidth + characterEdge,distance);

    outColor = vec4(textColor,textTransparency);

}

我目前有固定值。 问题是characterEdge和characterWidth的值始终取决于字体大小,问题是您可以通过某种方式计算它们吗,例如公式还是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)