android - 半透明纹理在不同的安卓手机上看起来不同

标签 android opengl-es transparency textures

我正在使用 opengl,对它还很陌生。最近尝试在我的应用程序中渲染一个半透明的云,但它在我的 Galaxy S 和我的 HTC desire HD 上看起来不同 :(。

这是两部手机上的云图像 clouds on Galaxy S and Desire HD .

阅读了很长时间,似乎 Bitmap.config 与问题有关,所以我在加载位图之前添加了这一行:

mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;

没有区别。非常感谢任何提示,谢谢!

编辑:

我在我的 onCreate 方法中添加了以下两行,但纹理在两部手机上保持相同。

    getWindow().setFormat(PixelFormat.RGBA_8888);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);

编辑:

我尝试使用 api demos static sprite Activity 绘制相同的图像以排除我的代码中的错误,但遇到了同样的问题。

编辑:

还尝试在 HTC Sensation 和 LG Optimus 2x 上绘制相同的纹理。 HTC Sensation 上的问题与 Desire HD 上的问题相同,LG Optimus 2x 上没有问题。

最佳答案

尝试通过调用 gl.glEnable(GL10.GL_DITHER)(如果不是 GL10,则使用您正在使用的等效 gl 版本)启用抖动。

编辑:如果这不起作用,还可以在 onCreate() 方法中调用 getWindow().setFormat(PixelFormat.RGBA_8888);

关于android - 半透明纹理在不同的安卓手机上看起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433052/

相关文章:

android - 在没有 GSM 连接的情况下在 android 中填充 SMS

Android:如何将图像加载到位图中

iphone - MonoTouch 中有 cocos2d 的机会吗?

ios - 顶点着色器与顶点

android - 如何在 RelativeLayout 中强制执行循环引用?

android - 无休止地接收分块数据

java - Android:glReadpixels 大于视口(viewport)?

半透明 Activity 上的 Android VideoView

android - 透明阴影 View

internet-explorer-6 - DotNetNuke 使用具有透明度的 PNG 图像