GPUImage中的生产流水线

我们知道,GPUImage 是一个著名的图片滤镜处理工具,里面提供了一百多种滤镜,需要什么滤镜,就把需要的滤镜添加到targets 中去,实现任意滤镜直接的组合。那么这种滤镜任意的组合是怎么实现的呢?
我们可以把GPUImage 看做是一个照片处理工厂,工厂里面有一个处理图像的流水线,流水线上有数台机器,每一台机器其实是一个叫做帧缓存(FrameBuffer)的盒子,每一个盒子就是一个图像处理单元。每个单元处理完图片之后,就将图片交给下一个处理单元(FrameBuffer)去处理。

GPUImage的滤镜流水线

如图,所示,每一个FrameBuffer 对应一个滤镜,上一级frameBuffer渲染出的texture 传输给下一级 frameBuffer 作为原材料,直到最后一个frameBuffer渲染完成,注意看最后一个Framebuffer 的 蓝色buffer区域不再是textureBuffer ,而是color buffer ,因为colorbuffer 和我们的画板 EAGLLayer 是共享缓冲区的,所以,当渲染到 coloerBuffer 也就渲染到了画板的缓冲区。
下面是我写的一个调节亮度和饱和度的流水线 demo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cc_coders

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值