PowerVR SGX540 Android纹理问题

时间:2012-08-21 01:12:06

标签: android opengl-es opengl-es-2.0 powervr-sgx

我正在尝试在我的Android应用程序中加载一些纹理。

它适用于所有设备,如三星galaxy ace,s2 但任何使用PowerVR SGX540 gpu的设备,例如三星galaxy S-gti9000
会有一些奇怪的文物......

正确加载了一些纹理...... 但其他纹理都是黑色....

我确保所有纹理都是2的幂, 但它们不是方形的,可以是矩形的,例如64 * 128

我在纹理参数设置中使用以下内容....

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);

1 个答案:

答案 0 :(得分:1)

正如Tim建议的那样,它可以帮助您调整图像大小以匹配不同设备的dpi。

一旦加载图像,检查图像的大小,以确保它们仍然是2的幂。 将资源文件放在res/drawable-nodpi中应该让android知道你不希望它们调整大小。