У меня есть большой массив текстур с изображениями (несколько сотен) для большой объединенной сетки. Теперь мне нужно регулярно обновлять определенные «кусочки» или слои этого массива.
Моя проблема в том, что при использовании glGenerateMipmap()
драйвер, похоже, воссоздает мипмапы для ВСЕХ слоев этого массива текстуры вместо только обновленных. Есть ли способ просто обновить один слой и воссоздать его mipmap, не воссоздавая mipmaps для всех слоев одновременно?
Что я сейчас делаю, когда обновляю срез / слой массива 2D-текстур:
glTexSubImage3D(EXTTextureArray.GL_TEXTURE_2D_ARRAY_EXT,
0, //mipmap level
0,
0,
sliceIndex,
width,
height,
1,
glFormat,
GL11.GL_UNSIGNED_BYTE,
currentData);
glGenerateMipmap(EXTTextureArray.GL_TEXTURE_2D_ARRAY_EXT);
Когда я пропускаю glGenerateMipmap()
, тогда мип-карты вообще не обновляются. Так есть ли способ автоматического создания мипмапов только для этого слоя или мне нужно самому в этом случае создавать мипмапы?