`
xuela_net
  • 浏览: 525269 次
文章分类
社区版块
存档分类
最新评论

android OpenGL ES实现渲染到透明的纹理 render to transparent texture

 
阅读更多

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 楼 追求幸福 2017-01-09  
这个问题你解决了吗?我也遇到这个问题了,可以交流一下吗

相关推荐

    Android OpenGL 图片Texture渲染render 演示demo

    Android OpenGL 图片Texture渲染render 演示demo 1、开发语言:Kotlin 2、开发环境:Android studio 3、图片纹理渲染简介 OpenGL图片纹理渲染‌是指在3D图形渲染过程中,将2D图片(纹理)映射到3D物体表面的过程。这...

    015_render_to_texture.zip_linux opengl_opengl texture_render to

    在这个“015_render_to_texture.zip”压缩包中,我们聚焦于一个特定的技术:OpenGL中的渲染到纹理(Render To Texture,RTT)。这个技术允许我们将渲染结果直接保存到一个纹理对象中,而非屏幕,这在许多高级图形...

    Render to Texture

    "Render to Texture",在OpenGL编程中,是一个高级特性,允许开发者将渲染的结果保存到一个纹理对象中,而不是直接显示到屏幕上。这个过程通常被称为离屏渲染,它为许多复杂的技术提供了基础,如镜像效果、环境映射...

    OpenGL实现离屏渲染(Offscreen Render),

    离屏渲染(Offscreen Rendering)是OpenGL中的一个重要技术,它允许我们在屏幕之外的纹理或帧缓冲区进行渲染操作,然后将结果用于后续的图形处理或者保存为图像文件。这个初级的OpenGL程序Demo就是围绕离屏渲染展开...

    Android OpenGL Texture纹理附件关联到FBO演示demo源码

    Android OpenGL Texture纹理附件关联到FBO演示demo源码 1、开发语言kotlin 2、开发环境Android studio 3、Texture纹理附件关联到FBO 详解: https://blog.csdn.net/github_27263697/article/details/143058770 FBO ...

    opengl渲染到纹理技术

    渲染到纹理(Render to Texture, RTT)技术的核心在于创建一个离屏的帧缓冲区对象(Framebuffer Object, FBO),这个对象可以捕获渲染的结果并将其存储为纹理。在OpenGL中,我们首先需要定义一个FBO,然后将其绑定到...

    OpenGL中的渲染到纹理技术详解

    在OpenGL中,渲染到纹理(Render to Texture)是一种高级技术,它允许我们将场景渲染到一个纹理中,而不是直接渲染到屏幕上。这种技术在许多图形应用中都非常有用,比如后处理效果、阴影映射、环境映射等。本文将...

    OSG_Rendertotexture.rar_OSG_Rendertotexture_osg 渲染到纹理_osg 纹理_osg

    OSG_Rendertotexture 是一个基于OpenSceneGraph(简称OSG)的示例项目,专注于演示如何在图形编程中实现渲染到纹理(Render to Texture, Rtt)的技术。OpenSceneGraph是一个开源的高性能3D图形库,广泛应用于科学...

    使用fbo来实现render to texture演示

    在计算机图形学中,Framebuffer Object(FBO)是OpenGL中的一种技术,用于实现"Render to Texture"(RTT)。RTT允许我们不在屏幕上渲染,而是将渲染结果存储到纹理中,这种纹理可以作为后续渲染步骤的输入。FBO是...

    易语言OpenGL教程第36课渲染到纹理源码

    渲染到纹理(Render To Texture,简称RTT)是OpenGL中的一个高级特性,它允许我们将场景或某个特定的渲染目标(如帧缓冲)的输出作为新的纹理数据。这个过程可以用于实现各种效果,比如反射、折射、后期处理等。 ...

    Android OpenGL ES学习

    OpenGL ES是Android系统中用于图形渲染的重要库,它是OpenGL的一个精简版本,专门针对嵌入式设备和移动设备设计,如智能手机和平板电脑。在Android平台上,OpenGL ES被广泛用于2D和3D图形应用程序的开发,提供了一个...

    Android Opengles 开发入门技术文档

    6. **OpenGL ES 2.0接口Render(渲染)** OpenGL ES 2.0在Android中的主要接口是GLSurfaceView,其中的渲染回调函数: - onDrawFrame(GL10 gl):核心的绘图函数,开发者在这里实现所有图形的绘制逻辑。 - ...

    render to texture 事例代码

    在进行"Render to Texture"时,你需要确保管线配置正确,例如关闭深度测试,因为通常在渲染到纹理时我们不关心深度信息。 4. **绘制调用**:设置好渲染目标后,你可以像平常一样执行绘制调用,但这次渲染的结果会...

    e语言-易语言OpenGL教程第36课渲染到纹理

    渲染到纹理(Render To Texture,简称RTT)是计算机图形学中的一个重要技术,它允许我们将场景的渲染结果存储到一个纹理对象中,而不是直接显示在屏幕上。这种技术广泛应用于后期处理、反射、折射、光照计算等高级...

    android opengl es 2.0官方demo

    4. **纹理映射(Texture Mapping)**:OpenGL ES 2.0支持纹理映射,允许将图像数据(纹理)应用到几何体表面,实现复杂的图像效果。 5. **状态机模型**:OpenGL ES 2.0使用状态机模型,开发者可以通过设置一系列的...

    Android OpenGL的一个简单的例子.zip

    这个"Android OpenGL的一个简单的例子.zip"文件包含了一个基本的Android OpenGL应用实例,帮助开发者了解如何在Android设备上使用OpenGL ES。 首先,我们需要了解OpenGL ES的基本概念。OpenGL ES是OpenGL的精简版,...

    OpenGL教程第36课渲染到纹理.rar

    OpenGL教程第36课主要讲解的是“渲染到纹理”(Render To Texture,简称RTT)这一高级技术。渲染到纹理是计算机图形学中一个非常重要的概念,它允许我们将渲染的结果作为一个纹理来处理,进而实现一系列复杂的视觉...

    OPENGL ES 3.0编程指南.pdf

    帧缓冲对象(Framebuffer Objects, FBO)在3.0版本中也得到了增强,支持多重渲染目标(Multiple Render Targets, MRT),可以同时将渲染结果输出到多个颜色缓冲区,这对于实现复杂的后期处理效果非常有用。...

    d3d11 Render To Texture, RTT

    在计算机图形学领域,"Direct3D 11 Render To Texture (RTT)"是一种重要的技术,它允许开发者将渲染过程的输出保存到一个纹理对象中,而非直接显示在屏幕上。这种技术广泛应用于游戏开发、图像处理和实时可视化应用...

    OpenGL的实现多层显示

    4. **渲染到纹理(Render to Texture)**:这是一种高级技术,先将一部分场景渲染到纹理上,然后再将这个纹理作为另一个图层的一部分进行绘制,这样可以实现复杂的分层效果。 5. **帧缓冲对象(Frame Buffer ...

Global site tag (gtag.js) - Google Analytics