PC上OpenGL渲染到纹理,很容易得到透明背景,但是在android上OpenGL ES渲染出来是黑色背景,对于这个问题,想了两个解决办法。

1> 让android的OpenGL ES环境支持RGBA,默认android系统给出的渲染环境是RGB565的,这是出于性能原因。如果framebuffer不支持alpha通道,renderToTexture当然得不到透明纹理。

        在androidmanifest.xml文件里改用OpenGL ES2.0,并为GLSurefaceView.Render改用RGBA8888配置,仍然得不到透明图像。尝试失败。

2> 第二种憋足的办法,读取render2texture的pixels,然后手动修改其黑色背景为透明。渲染后使用glReadPixels读取,但是这种办法效率低下,每一帧都这样干是不可能的。

更多相关文章

  1. Android布局背景颜色设置
  2. android selector 背景选择器
  3. Android(安卓)修改EditText的光标颜色和背景色
  4. Android利用drawable文件夹自定义控件背景、样式
  5. Android关于LinearLayout和RelativeLayout背景设置的区别
  6. Style与Theme
  7. Android中使用Dialog风格弹出框的Activity
  8. Android中设计具有背景图的按钮—ImageButton的焦点及事件处理
  9. 取消默认Listview点击的显示的颜色

随机推荐

  1. Android(安卓)如何清空 Canvas ?(找了好
  2. Android热更新框架Nuwa的使用
  3. Android(安卓)TextView加上阴影效果
  4. android中延迟执行某个任务(基础备用)
  5. Android(安卓)里的FrameBuffer
  6. Android(安卓)2D游戏引擎AndEngine快速入
  7. android实体类的Parcelable
  8. Android(安卓)JNI小实例
  9. Android(安卓)SharedPreferences详解
  10. AndroidManifest中original-package标签