OpenGL:使用 FTGL 和纹理

Posted

技术标签:

【中文标题】OpenGL:使用 FTGL 和纹理【英文标题】:OpenGL: using FTGL and textures 【发布时间】:2011-05-05 13:26:41 【问题描述】:

当使用 FTGL 纹理字体时,一切正常,直到我在程序的其他地方使用另一个纹理。然后字体的原始纹理似乎丢失了,因此,字符被绘制为黑点。在使用了 glTexEnvf 的各种参数之后,我认为问题只是字体在写入时没有加载其默认纹理。

有没有办法在写入之前访问这个默认纹理并绑定它?

【问题讨论】:

hm,我一直在使用 FTGL,但没有注意到这个问题。从内存中,FTGL 不会改变 glActiveTexture,你是否从 GL_TEXTURE0 改变它的值?您是否尝试使用 Push/PopAttrib 来尝试隔离 FTGL 的 GL 状态和您的应用程序的状态? 【参考方案1】:

尝试围绕您的调用来渲染字体

  glPushAttrib(GL_ALL_ATTRIB_BITS);

  glPopAttrib();

(正如 rotoglup 建议的那样。)

【讨论】:

【参考方案2】:

我从未使用过 FTGL,但您可能只是在使用活动纹理单元时遇到了问题。

您是否尝试将 0 以外的纹理单元用于您自己的纹理并将 GL_TEXTURE0 留给 FTGL ?

如果您需要,相关文档是here。

【讨论】:

以上是关于OpenGL:使用 FTGL 和纹理的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL纹理映射总结

OpenGL-载入纹理

OpenGL ES纹理

OpenGL之Mipmap、压缩纹理

✠OpenGL-5-纹理贴图

Opengl 纹理映射和图像分辨率