NDK OpenGL ES 3.0 开发(十七):相机基础滤镜

本文介绍如何在 Android NDK 中使用 OpenGLES 3.0 开发相机基础滤镜,包括动态网格、分屏和缩放的圆效果。通过 GLSL 着色器语言,结合内建函数实现滤镜的动态变化,如利用 mod 和 floor 函数调整动态网格,用 distance 函数控制圆的缩放。同时强调了在处理纹理坐标时,需转换为图片坐标系以避免椭圆绘制问题。
摘要由CSDN通过智能技术生成

该原创文章首发于微信公众号:字节流动

相机基础滤镜

上文中我们通过 ImageReader 获取到 Camera2 预览的 YUV 数据,然后利用 OpenGLES 渲染实现相机预览,这一节将利用 GLSL (OpenGL 着色器语言)基于不同的着色器实现多种基础滤镜。

GLSL 一些使用频率比较高的内建函数

内建函数 函数说明
float distance (genType p0, genType p1) 计算向量 p0 ,p1 之间的距离
float length (genType x) 返回向量 x 的长度
genType floor (genType x) 返回小于等于 x 的最大整数值
genType ceil (genType x) 返回大于等于 x 的最小整数值
genType mod (genType x, float y
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

字节流动

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

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

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

打赏作者

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

抵扣说明:

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

余额充值