PowerVR SGX540 Android纹理问题



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

它适用于三星galaxy ace、s2等所有设备但任何使用PowerVR SGX540 gpu的设备,例如三星galaxy S-gti9000
会有一些奇怪的人工制品。。。。

某些纹理加载正确。。。但其他纹理是完全黑色的。。。。

我已经确保我所有的纹理都是二次幂,但是它们不是正方形的并且可以是矩形的,例如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);

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

加载图像后,请检查图像的大小,以确保它们仍然是二次幂。将资源文件放在res/drawable-nodpi中应该会让android知道你不想调整它们的大小。

相关内容

  • 没有找到相关文章

最新更新