glCopyTexImage2D() を使用して、ゼロ以外のミップマップ レベルのテクスチャをアップロードしたいと考えています。同じために次のコードを使用しています:
// Render Some Geometry
GLint mipmap_level = 1;
glGenTextures(1, &textureId);
glBindTexture(GL_TEXTURE_CUBE_MAP, textureId);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glCopyTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X,mipmap_level,GL_RGBA16_SNORM,0,0,128,128,0);
// Five other glCopyTexImage2D() calls to load textures
glGenerateMipmap(GL_TEXTURE_CUBE_MAP);
//Render geometry
ここで、mipmap_level = 1 を使用すると、ジオメトリはまったく描画されません。ミップマップ レベルは glCopyTexImage2D() API とどのように連動しますか? level = 1 を使用すると、64x64 テクスチャ、つまり最初にサンプリングされたミップマップが読み込まれると思います。glCopyTexImage2D() の前に glGenerateMipmap() 呼び出しを使用しても意味がありません。それでは、 glCopyTexImage2D() を使用して、ドライバーがゼロ以外のミップマップ レベルをどのように正確にロードするのでしょうか?