Я пытаюсь обновить только часть одной текстуры в большом массиве текстур с 16 4096 * 4096 текстурами, используя glTexSubImage3D
. Тем не менее, я не могу заставить его работать. При вызове не выдает никаких ошибок. (При установке ширины более 4096).
glTexSubImage3D( GL_TEXTURE_2D_ARRAY, // target
0, // level
0, // x offset
0, // y offset
0, // z offset
TEXTURE_DIM, // width
TEXTURE_DIM, // height
0, // depth
GL_RGBA, // format
GL_UNSIGNED_BYTE, // type
textures[1]); // zeroed memory
Это странно, потому что когда я заменяю этот вызов на glTexImage3D
, текстура обновляется:
glTexImage3D(GL_TEXTURE_2D_ARRAY, // target
0, // level
GL_RGBA8, // Internal format
TEXTURE_DIM, // width
TEXTURE_DIM, // height
1, // the number of layers
0, // 0 required
GL_RGBA, // format
GL_UNSIGNED_BYTE, // type
textures[1]); // zeroed memory
Я не хватает некоторых дополнительных шагов, которые нужны glTexSubImage3D
? В чем может быть проблема? Спасибо за любые указатели