如何在opengl中使用纹理? (无效操作错误:1282)

问题描述 投票:-2回答:1

我是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()的行上。我这样做的方式无效/错误是什么?

c++ opengl textures
1个回答
2
投票

glTextureParameter函数将纹理句柄作为第一个参数,而不是纹理目标。您使用的参数似乎是glTexParameter函数。这两个不一样,所以你可以使用其他功能或更改参数。

© www.soinside.com 2019 - 2024. All rights reserved.