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中判断横屏或者竖屏并改变背景
  3. Android修改AlertDialog的背景颜色
  4. Android ListView里设置默认Item的背景颜色
  5. Android自定义Button背景色,弧度
  6. Android布局背景颜色设置
  7. Android利用drawable文件夹自定义控件背景、样式

随机推荐

  1. android版本更新功能
  2. Android中获取当前屏幕的尺寸大小
  3. Android之获取加载图片宽高问题(getIntrin
  4. Android开发错误信息收集
  5. JS判断是IOS还是Android,判断是否微信浏览
  6. Android异步处理特性之AsyncTask
  7. Android(安卓)面试总结
  8. android 从驱动到应用(二)
  9. Android网络连接处理学习笔记
  10. Android(安卓)Widget 小工具(两) 使用con