我是opengl的新手,我正在尝试解决纹理问题。每当我调用glTextureParameteri()时,我都会收到错误1282(无效操作)。据我所知,每个资源都以同样的方式编写。这是给我带来麻烦的代码片段。
ImageLoader image("res/Textures/test.bmp");
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.getWidth(), image.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixels());
glBindTexture(GL_TEXTURE_2D, 0);
错误代码显示在glTextureParameteri()的行上。我这样做的方式无效/错误是什么?
glTextureParameter
函数将纹理句柄作为第一个参数,而不是纹理目标。您使用的参数似乎是glTexParameter
函数。这两个不一样,所以你可以使用其他功能或更改参数。