【问题标题】:Rendering FreeType Fonts in Opengl在 Opengl 中渲染 FreeType 字体
【发布时间】:2013-11-22 03:48:43
【问题描述】:

我已经链接到 FreeType 并使用来自NeHe 的迷你库尝试在屏幕上绘制一个示例字符串,我得到了左下角绘制的字母的故障轮廓。

下面的代码是我的绘图方式,就像在示例中一样。

glPushMatrix();
glLoadIdentity();
glColor3ub(0xff,0xff,0xff);
freetype::print(font, 10, 10, "abcdefghijklmnopqrstuvwxyz0123456789-=[]()!?");
glPopMatrix();

没有抛出异常,它编译得很好,所以我发现很难排除故障。谁能通过屏幕截图判断问题可能是什么?

【问题讨论】:

  • 我认为造成问题的原因是我用来绘制立方体框架的glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); 行。

标签: opengl freetype


【解决方案1】:

看起来平滑/抗锯齿已打开,并破坏了您的图像。尝试在绘制文本时关闭所有平滑。

【讨论】:

  • 我在打印之前尝试了glDisable(GL_BLEND);,但它没有改变任何东西。抗锯齿是通过 GLFW 启用的,开头带有 glfwWindowHint(GLFW_SAMPLES, 4);,注释掉该行会稍微改善结果,但仍然是 bad。抽签前有什么特别需要启用或禁用的吗?
  • 这会有所帮助吗? axfive.wordpress.com/2012/01/17/…
  • 并非如此,它使用已弃用的库会导致太多编译器错误。
  • 最后一件事,我记得我从这里获得了来自开源框架的 freetype+opengl 函数:openframeworks.cc
  • 我不知道 NeHe 但是使用 ftgl(freetype2 之上的 opengl 层)有很多模式来绘制文本,检查您使用的是轮廓字体、多边形字体还是纹理字体。请记住,您需要根据要跟踪的类型设置 opengl 上下文。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
相关资源
最近更新 更多