如何在OpenGL中禁用mipmap

Pio*_*trK 7 opengl mipmaps

我在OpenGL中制作2D精灵引擎,我想禁用mipmap,因为我不需要它们.

我打电话的时候:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, internal->internal_w, internal->internal_h, 0, GL_RGBA, GL_UNSIGNED_BYTE, internal->data);
RenderWithThisTexture();
Run Code Online (Sandbox Code Playgroud)

我白了,但是当我打电话时:

gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, internal->internal_w, internal->internal_h, GL_RGBA, GL_UNSIGNED_BYTE, internal->data);
RenderWithThisTexture();
Run Code Online (Sandbox Code Playgroud)

我得到了正确纹理的矩形

我发现这可能是因为启用了mipmap,但遗憾的是我找不到任何有关如何禁用它们的信息.

我想坚持使用OpenGL 1.1(不是OGL 2.0或更高代码)

Pio*_*zmo 16

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
Run Code Online (Sandbox Code Playgroud)

这应该是默认值.确保你没有将它改为MIPMAP某个地方.

  • 它实际上不是默认值.奇怪的是,默认值是`GL_NEAREST_MIPMAP_LINEAR`,它确实启用了mipmapping.顺便说一下,你应该知道你也可以根据OP的需要将它设置为"GL_NEAREST",其中只有"MIPMAP". (18认同)