我正在使用lwjgl学习openGL。我正在尝试查看不同滤镜对纹理的影响。要加载纹理,我使用SlickUtil.TextureLoader来加载纹理,只有前两个纹理过滤器选项有效,其他选项会产生一个空白纹理。如果有人知道我做错了什么,或者知道如何在加载纹理后手动应用滤镜,请说出来;
Texture[] textures = new Texture[6];
textures[0] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST);
textures[1] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR);
textures[2] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST_MIPMAP_NEAREST);
textures[3] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR_MIPMAP_NEAREST);
textures[4] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST_MIPMAP_LINEAR);
textures[5] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR_MIPMAP_LINEAR);发布于 2011-07-07 04:53:43
* mipmap *过滤器需要一个完整的mipmap链,很明显纹理加载器没有创建mipmap链。Mipmap可以从文件加载,也可以由OpenGL使用glGenerateMipmap()生成。
不完整的mipmap链和mipmap过滤器的常见症状是纹理看起来完全为白色(或黑色)。
对于LWJGL,您可以使用glGenerateMipmap (GL30,OpenGL 3.0)或glGenerateMipmapEXT (GL_EXT_framebuffer_object扩展)。
要使用它,只需使用glBindTexture绑定纹理,并使用正确的纹理目标调用glGenerateMipmap (与glBindTexture相同)。
https://stackoverflow.com/questions/6602684
复制相似问题