OpenGL Mipmapping: how does OpenGL determine the level of a map?

I am having problems implementing mipmapping in OpenGL. I use OpenFrameworks and modified the ofTexture class to support the creation and rendering of mipmaps.

The following code is the source code for creating a texture from a class (slightly modified for clarity):

  glEnable(texData.textureTarget);
      glBindTexture(texData.textureTarget, (GLuint)texData.textureID);
      glTexSubImage2D(texData.textureTarget, 0, 0, 0, w, h, texData.glType, texData.pixelType, data);
      glTexParameteri(texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
      glTexParameteri(texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glDisable(texData.textureTarget);

This is my version with mipmap support:

  glEnable(texData.textureTarget);
       glBindTexture(texData.textureTarget, (GLuint)texData.textureID);
       gluBuild2DMipmaps(texData.textureTarget, texData.glTypeInternal, w, h, texData.glType, texData.pixelType, data);
       glTexParameteri(texData.textureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
       glTexParameteri(texData.textureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
  glDisable(texData.textureTarget);

The code does not generate errors (gluBuild2DMipmaps returns "0"), and the textures are displayed without problems. However, I do not see any difference.

, , " " z = 0. 2D-. , "glScale()", . , "", ( ) . : http://www.youtube.com/watch?v=b_As2Np3m8A 25 .

: , , , OpenGL mipmap ( 0)?

+3
2

Mipmapping . ( , ) . GPU , mip texel-to pixel , .

GL_LINEAR_MIPMAP_LINEAR, ? , / . , glEnable/glDisable , , .

+1

, mipmap, OpenGL >= 1.4.

GL_TEXTURE_MIN/MAX_LOD, mip.

0

Source: https://habr.com/ru/post/1747058/


All Articles