Android之OpenGL里FBO理解测试实例

本文深入探讨了OpenGL中的Frame Buffer Object(FBO)概念,通过一个测试实例展示了FBO的使用步骤,包括创建、绑定和检查状态。代码示例比较了不同方案的性能,显示了FBO在提升效率方面的作用。FBO用于缓存OpenGL的绘制结果,并通过绑定的textureId方便后续处理。
摘要由CSDN通过智能技术生成

本文主要记录个人对OpenGL里FBO的理解,附上测试事例
测试源码: github
FBO : Frame Buffer Object, 是一个存储一帧数据的容器。

原理这里不介绍,(主要我也没怎么看懂),使用FBO的步骤:
- 使用FBO的步骤
- 创建 glGenFramebuffers()
- 绑定 glBindFramebuffer()
- (这里使用绑定texture2D), glFramebufferTexture2D()把一幅纹理图像关联到一个FBO
- 检查FBO状态 glCheckFramebufferStatus()
这里使用的FBO与Texture一起绑定使用,OpenGL的绘制是如果我们绑定了Framebuffer即glBindFramebuffer(),openGL的绘制内容会绘制到framebuffer里,绑定framebuffer和texture,是为了通过绑定的texture从frambuffer里拿数据
基本生成frambuffer和绑定texture代码:

int[] frameBuffer = new int[1];
int[] frameBufferTexture = new int[1];

// generate frame buffer
GLES20.glGenFramebuffers(1, frameBuffer, 0);
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, frameBuffer[0]);

// generate texture
GLES20.glGenTextures(1, frameBufferTexture, 0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值