我剛從誰說,我(的Android的OpenGL ES 2.0)的應用程序(遊戲)將不會對他的HTC 1X +手機上運行用戶聽到。他所得到的只是屏幕頂部的音樂和橫幅廣告,沒有別的。常見原因正在呈現
不幸的是我沒有一個HTC 1X +測試此上。
一些注意事項:
- 雖然我的紋理不是2的冪,我只使用GLES20.GL_CLAMP_TO_EDGE
- 從我讀過,宏達1X +擁有2048 x 2048一個最大紋理尺寸並且它從XHDPI文件夾中獲取資源(令人討厭),即使如此,我只有1 texure超出了這個尺寸,我的應用程序的開始頁面上顯示的所有其他對象使用的紋理比這個最大量要小得多,所以應該顯示一些東西。
- 我沒有使用任何類型的
我的應用程序運行相當愉快的15(近似)的設備我的紋理壓縮,和其他人已經測試了 - 只是1倍(到目前爲止)是給問題。
任何人都可以指出一些常見問題與OpenGL ES 2.0可能導致這些紋理不被渲染?是否有某些Android版本或設備有怪癖?
我還沒有發佈,只是因爲該應用程式適用於大多數設備的任何代碼,我不知道這部分代碼將是有益的,但如果需要進行任何代碼,請只問。
編輯 - 包括紋理加載代碼
public static int LoadTexture(GLSurfaceView view, Bitmap imgTex){
//Array for texture
int textures[] = new int[1];
try {
//texture name
GLES20.glGenTextures(1, textures, 0);
//Bind textures
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);
//Set parameters for texture
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
//Apply texture
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, imgTex, 0);
//clamp texture
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_CLAMP_TO_EDGE);
} catch (Exception e){
}
//Increase texture count
textureCount++;
//Return texture
return textures[0];
}
而你有'GL_TEXTURE_MIN_FILTER'設置爲'GL_LINEAR'或'GL_NEAREST'紋理沒有mipmaps? – 2014-09-11 03:42:49
嗨@RetoKoradi,我有我的代碼如下:GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,GLES20.GL_TEXTURE_MAG_FILTER,GLES20.GL_LINEAR); – Zippy 2014-09-11 12:49:46
我已經添加了我使用的應用紋理@RetoKoradi代碼,希望它會幫助你發現和存在的問題 - 感謝 – Zippy 2014-09-11 13:15:58