2011-10-14 28 views
3

有沒有人有工作代碼在Android上使用glTexSubImage2D(),最好通過NDK,但即使只是在Java?Android的glTexSubImage2D工作嗎?

在我的代碼glTexImage2D()工作正常,但glTexSubImage2D()在相同的紋理在代碼中的相同點沒有。在我的桌面系統上運行相同的代碼。在Android上使用glTexSubImage2D()有什麼隱藏的陷阱嗎?

+0

glCopyTexImage2D也以同樣的方式失敗,使用GL_INVALID_OPERATION。這不是由於錯誤的像素格式或非二維度量。 –

回答

4

根據我們的經驗,glTexSubImage2D()不能正常工作的問題只發生在HTC Android手機 - 至少在我們嘗試過的模型中:Desire HD,Desire Z和X315E。它不會出現在Windows PC或摩托羅拉Android手機中。

我們找到了原因我們的問題是,可能HTC驅動程序有錯誤,因爲即使是GL_UNPACK_ALIGNMENT設定爲4,glTexSubImage2D()仍會將您傳遞給它的像素不對齊。即似乎glTexSubImage2D()始終使用1而不是您或OpenGL設置的實際值作爲GL_UNPACK_ALIGNMENT的值。但是,在Windows PC和摩托羅拉Android手機中,此函數使用正確的GL_UNPACK_ALIGNMENT值。