我正在尝试使用OpenGL在屏幕上具有固定大小(独立于缩放)的Freetype渲染文本。目前,我可以达到最后一点,但是,该文本不等同于同一操作系统上相同大小的相同字体的另一个程序。
在左边是我的程序,在右边是gedit。如您所见,我的文本在y轴上看起来有点被裁剪和模糊。我无法解决问题
这是我计算顶点的方式:
vec2 v = visibility * ((camera * vec3(char_position.xy, 1)).xy + vertex.xy / viewport * 2.);
这里是我在片段着色器中所做的
gl_FragColor = vec4(colorFrag.xyz, texture2D(tex, textureCoordFrag).a);
因此,正如derhass在他的评论中提到的那样,我的问题是我的像素未对齐并导致这种模糊。我没有找到如何很好地解决它,但作为快速解决方法,我在最终坐标中增加了半个像素大小
v.y += 1. / viewport.y;