gpt4 book ai didi

c++ - 纹理不工作

转载 作者:行者123 更新时间:2023-11-28 08:30:47 28 4
gpt4 key购买 nike

我正在使用来自该站点的代码: http://www.spacesimulator.net/tut4_3dsloader.html

它在他们的示例项目中有效,但是当我将代码放入一个类中以便更轻松、更模块化地使用时,纹理无法出现在对象上。

我通过并排调试仔细检查以确保纹理 ID 正确。在我的项目中,我得到一个空白的白色对象,而示例运行正常。

是否有任何方法可以判断引擎盖下发生了什么?我可以调用的任何错误函数都可以给我一些提示,说明发生了什么?现在我只是在猜测。 (是的,我启用了 2D 纹理。

非常感谢!

最佳答案

glGetLastError()

或 glGetError()

到底是什么……

确保 glEnable(GL_TEXTURE_2D);

并确保你的纹理使用 glBindTexture 绑定(bind)

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

嗯……确保你的纹理矩阵没有被搞砸......glMatrixMode(GL_TEXTURE);glLoadIdentity(); 如果您不使用它...

然后嗯....

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

请确保您在 mip 贴图中加载了 mipmap,否则如果您的对象处于不同的缩放比例,您可能无法获得任何纹理...

嗯……这就是我能想到的全部。

编辑:

哦,我只记得有一次捕获了我:

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

请确保在初始化 opengl 之前您没有尝试加载纹理(使用设备上下文或其他任何东西,我在 windows 下)

关于c++ - 纹理不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227124/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com