代码之家  ›  专栏  ›  技术社区  ›  bobber205

纹理不起作用

  •  0
  • bobber205  · 技术社区  · 15 年前

    我正在使用此网站的代码: http://www.spacesimulator.net/tut4_3dsloader.html

    它在他们的示例项目中工作,但是当我将代码放入一个类中以便更容易和更模块化地使用时,纹理无法显示在对象上。

    我已经通过并排调试来确保纹理ID是正确的。 在我的项目中,我得到了一个空白的白色对象,而示例运行良好。

    有没有什么方法可以告诉你引擎盖下面发生了什么?我可以调用的任何错误函数都可以给我一些提示,告诉我发生了什么?现在我只是猜测。(是的,我已经启用了二维纹理。

    谢谢你!

    2 回复  |  直到 15 年前
        1
  •  1
  •   matt    15 年前

    GLGetLastError()。

    或GLGETError()

    无论是什么…

    确保glenable(gl_纹理_2d);

    并确保使用glbindTexture绑定纹理

    确保渲染了纹理坐标并且它们是正确的(如果它们都是相同的,或者所有相同的未初始化值,则整个对象都将获得一种颜色)

    嗯… 确保你的纹理矩阵没有被扭曲… glmatrixmode(gl_纹理); glloadIdentity(); 如果你不使用它…

    然后嗯…

    确保加载纹理时加载的数据是正确的。

    确保在mip映射中加载了mipmapping,否则如果对象处于不同的缩放比例,则可能无法获得任何纹理…

    嗯… 这就是我能想到的一切。

    编辑:

    哦,我只记得有一次我被抓住了:

    通过更改结构,您可能更改了应用程序的初始化顺序。

    在初始化OpenGL之前,请确保您没有尝试加载纹理(在设备上下文或其他任何情况下,我在Windows下)。

        2
  •  0
  •   genpfault    15 年前

    确保您正在上载 complete texture .