OpenGL纹理,不喜欢我的bmp

时间:2010-11-20 23:14:20

标签: opengl textures

不用担心,我不想问如何使用纹理。 :)

我的问题是: 我正在使用几种纹理。但是如果我想改变这样的文件名:

(LoadBMP("grass.bmp", textureImage[3])) // I can see the grass

(LoadBMP("parkett.bmp", textureImage[3])) // No texture, only white color

两张图片都在同一目录中,没有错误信息。

有什么想法吗? 谢谢 宋佳 (OpenGL,Visual Studio C ++ 2010)

3 个答案:

答案 0 :(得分:2)

最有可能的是,这些纹理使用不同的格式(.bmp不仅仅是一种格式),而且您的功能只支持一种格式。

最简单和最好的解决方案是使用一个好的库来加载纹理,而不是一些神秘的LoadBMP。我建议SOIL - Simple OpenGL Image Loader.只需将其添加到您的项目中,您就可以将任何bmpjpgpng纹理加载到一个OpenGL纹理ID中功能调用。

答案 1 :(得分:0)

可以假设你的第二个BMP有错误的内部数据格式(非BGR或类似的东西)。同意Kos - 您应该尝试使用一些库来实现此目的。有很多' - SFMLSDL_imageDevIL ......

答案 2 :(得分:0)

非工作纹理的尺寸是2(即1,2,4,8,16,32 ......)?如果没有,那就是为什么它不起作用。缩放或垫。