2011-10-04 16 views
1

我目前正在開發基於NDK的OpenGL ES 2.0應用程序。我使用libjpeg垂直翻轉它(如OpenGL標準所述)來加載紋理。它在三星Galaxy SII,HTC Desire HD等(+ Windows的SDL實施)上運行良好。但在某些手機上(例如Android Market用戶報告的三星Galaxy S GT-I9000),在圖像的頂部/左側,而不是底部/左側,有一箇舊的Android特定問題。我如何確定,我應該翻轉紋理還是不在運行時?OpenGL ES紋理來源不同於頂部/左側到底部/左側不同的手機

我想過渲染一些測試模式到紋理,然後分析輸出,但這是太複雜的解決方法。必須有一些更簡單的方法。

謝謝!

回答

1

看起來像我自己解決了這個問題。我已經開始使用壓縮的ETC1紋理而不是未壓縮的紋理,這有助於解決這個奇怪的問題。

0

我要問你關於你的問題......

我有一些問題,GT-I9000設備上加載的紋理和使用的PowerVR SGX540 PowerVR的或GPU SGX530所有其他設備。

我正在使用ETC紋理。他們在所有其他設備上工作,但在這些設備上,一些紋理像黑色...

是否有任何特定的設置說明您正在使用glTexParameterf(...)函數?

我使用這些:

gl.glActiveTexture(GL10.GL_TEXTURE0);    
gl.glBindTexture(GL10.GL_TEXTURE_2D, glTextureId); 
gl.glTexParameterf(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR); 
gl.glTexParameterf(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR); 
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); 
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE);     
相關問題