Android Opengl在纹理上渲染透明颜色

Android Opengl在纹理上渲染透明颜色,android,opengl-es,Android,Opengl Es,我有一种质地。它是JPEG文件,具有红色RGB(255,0,0)背景。加载(或显示)我的RGB(255,0,0)颜色透明的纹理的最佳方法是什么?好吧,JPEG没有透明通道(AFAIK),所以首先要做的是在Paint.NET或其他任何程序中编辑它,使用魔杖或类似程序使红色像素透明,并另存为PNG 在运行时,您需要将PNG从资产或资源加载到Bitmap.Config.ARGB_8888位图中,然后再转换为纹理 最后,您的GLSurfaceView视图需要明确请求它是半透明的,因为默认情况下它是不透明

我有一种质地。它是JPEG文件,具有红色RGB(255,0,0)背景。加载(或显示)我的RGB(255,0,0)颜色透明的纹理的最佳方法是什么?

好吧,JPEG没有透明通道(AFAIK),所以首先要做的是在Paint.NET或其他任何程序中编辑它,使用魔杖或类似程序使红色像素透明,并另存为PNG

在运行时,您需要将PNG从资产或资源加载到
Bitmap.Config.ARGB_8888
位图中,然后再转换为纹理

最后,您的
GLSurfaceView
视图需要明确请求它是半透明的,因为默认情况下它是不透明的。。。以下是调用
setRenderer()
之前,我在
GLSurfaceView
派生构造函数中所做的操作:


JPEG没有透明通道(AFAIK),所以首先要做的是在Paint.NET或其他任何地方编辑它,使用魔杖或类似工具使红色像素透明,并另存为PNG

在运行时,您需要将PNG从资产或资源加载到
Bitmap.Config.ARGB_8888
位图中,然后再转换为纹理

最后,您的
GLSurfaceView
视图需要明确请求它是半透明的,因为默认情况下它是不透明的。。。以下是调用
setRenderer()
之前,我在
GLSurfaceView
派生构造函数中所做的操作:

    // Make the surface transparent, which it isn't by default
    setEGLConfigChooser(8, 8, 8, 8, 0, 0); 
    getHolder().setFormat(PixelFormat.TRANSLUCENT);