2011-04-09 44 views
2

壓縮紋理我有一個字節緩衝區加載DXT1質地和我試圖用OpenGLOpenGL中對利用LWJGL

int tID = glGenTextures(); 
glBindTexture(GL_TEXTURE_2D, tID); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, w, h, 0, imageData); 
System.out.println(gluErrorString(glGetError())); 

它給我的錯誤「無效操作」的glCompressedTexImage2D調用加載它。似乎無法弄清楚爲什麼。

回答

1

好吧,我想出了問題所在。 imageData的大小不正確。 由於DXT1是每像素4位,我一直認爲它應該是w * h * 4. 它應該是w * h * 1/2(4位是1/2個字節)。