我试图找出为什么我的纹理分配不起作用。以下是代码:
glTexStorage2D(GL_TEXTURE_2D, 2, GL_RGBA8, 2048, 2048);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 2048, 2048, GL_RGB,
GL_UNSIGNED_SHORT_5_6_5_REV, &BitMap[0]);
glTexSubImage2D
返回GL_INVALID_VALUE
,但我的卡上允许的最大纹理是16384x16384。
图像的来源是16位(红色5,绿色6,蓝色5)。
发布于 2013-10-17 06:54:50
您尝试在RGBA缓冲区中写入RGB映像。这可能是造成问题的原因。由于源图像是RGB格式,所以应该将GL_RGBA更改为GL_RGB at glTexStorage2D。
glTexStorage2D(GL_TEXTURE_2D, 2, GL_RGB8, 2048, 2048);
https://gamedev.stackexchange.com/questions/63618
复制相似问题