我正在尝试在我的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);
答案 0 :(得分:1)
正如Tim建议的那样,它可以帮助您调整图像大小以匹配不同设备的dpi。
一旦加载图像,检查图像的大小,以确保它们仍然是2的幂。
将资源文件放在res/drawable-nodpi
中应该让android知道你不希望它们调整大小。