使用openGL(插值)清晰地缩放位图字体?

发布于 2024-10-11 13:12:45 字数 483 浏览 4 评论 0原文

我在 openGL 应用程序中加载位图字体(作为 png 图像),以固定大小渲染字符。这正在发挥作用。但是:如果我想以较小的尺寸缩放一些字形,它看起来不太好。有没有办法 - 不使用预生成的 mipmap(我有一大堆几个字符,需要无级大小)来缩放得更漂亮?某种插值方式还是什么?

目前我使用类似的东西(Mac OS X 上的 C/C++):

glPopMatrix();
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBindTexture(GL_TEXTURE_2D, texture->getID());
glScalef(0.7f, 0.7f, 0); //scale here a size

{draw vertexes & set texcoords}

glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
glPushMatrix();

有什么建议吗?

I load an bitmapfont (as png image) in my openGL Application to render characters from there at a fixed size. That's working. But: If I want to scale some glyphs at a smaller size it doesnt look great. Is there a way - without using pregenerated mipmaps (I have a big bunch of several characters and need stepless sizes) to scale this more beautiful? Some way of interpolation or something?

At the moment I use something like this (C/C++ on Mac OS X):

glPopMatrix();
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBindTexture(GL_TEXTURE_2D, texture->getID());
glScalef(0.7f, 0.7f, 0); //scale here a size

{draw vertexes & set texcoords}

glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
glPushMatrix();

Any suggestion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独孤求败 2024-10-18 13:12:45

您是否尝试在纹理上使用线性过滤?:

glTexParameteri(GL_TEXTURE_2D, GL_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_MAG_FILTER, GL_LINEAR);

这是在绑定纹理之后。

Did you try using Linear filtering on your textures?:

glTexParameteri(GL_TEXTURE_2D, GL_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_MAG_FILTER, GL_LINEAR);

This after binding textures.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文