OpenGL ES之GLSL实现多种“马赛克滤镜”效果
⻢赛克效果
- “⻢赛克效果”就是把图⽚的⼀个相当⼤⼩的区域⽤同⼀个点的颜⾊来表示,可以认为是⼤规模的降低图像的分辨率,⽽让图像的⼀些细节隐藏起来。
无马赛克滤镜
- “无滤镜”效果的实现准备工作的代码与“无分屏滤镜”中的实现逻辑和流程一致,只需要修改相应的底部item数组及对应的着色器名称等,这里不再说明这部分内容,顶点着色器也没有任何变化,主要是针对片元着色器中GLSL代码的实现滤镜算法做具体的说明和实现;
- 具体流程请参考:OpenGL ES之GLSL实现“分屏滤镜”效果
方形马赛克滤镜
一、效果展示
二、实现原理
① 滤镜算法
- 根据纹理坐标计算实际图像中的位置,相当于将纹理颜色区放大;
- 计算出一个小马赛克的坐标,即找到马赛克提取颜色值的像素点;
- 将马赛克坐标换算回纹理坐标,即将纹理颜色区缩小;
② 计算过程
OpenGL ES之GLSL实现多种“马赛克滤镜”效果相关推荐
- OpenGL ES之GLSL实现仿抖音“灰度滤镜”和“颠倒滤镜”效果
无滤镜 "无滤镜"效果的实现准备工作的代码与"无分屏滤镜"中的实现逻辑和流程一致,只需要修改相应的底部item数组及对应的着色器名称等,这里不再说明这部分内容, ...
- OpenGL ES之GLSL实现仿抖音“缩放”“灵魂出窍”“抖动”“闪白”“毛刺”“幻觉”等动态滤镜效果
无滤镜效果 "动态滤镜"效果的实现准备工作的代码与"无分屏滤镜"中的实现逻辑和流程一致,只需要修改相应的底部item数组及对应的着色器名称等,这里不再说明这部分 ...
- OpenGL ES之GLSL渲染图片显示的整体流程
整体思路 本文不采用UIKit的GLKBaseEffect渲染一张图片的显示,而是使用编译链接自定义的着色器(shader).用GLSL语言来实现自定义顶点/片元着色器,并将图形进行简单的渲染显示. ...
- 06-初始OpenGL ES -用GLSL实现画板的功能
效果图 准备资料 1.下载案例中需要用的资源,地址:https://download.csdn.net/download/lyz0925/12351912: 2.将所需要的资源拖入项目中.如下图: 代 ...
- Android OpenGL ES 学习(九) – 坐标系统和实现3D效果
OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学 ...
- OpenGL ES之GLSL实现仿抖音“分屏滤镜”效果
无分屏滤镜 一.GLSL自定义着色器 Normal.vsh:顶点着色器 attribute vec4 Position; attribute vec2 TextureCoords; varying v ...
- OpenGL ES之GLSL实现索引绘制及渲染纹理和颜色混合
渲染流程简介 一.基本图形硬件流水线设计 应用程序层:游戏和应用层软件开发人员为主体,通过调用API进行上层开发,不需要考虑移植性问题: 硬件抽象层:抽象出硬件的加速功能,进行有利于应用层开发的封装, ...
- OpenGL ES之GLSL常用内建函数
dot 点乘 返回两个单位向量之间夹角的cos值 cross 叉乘 texture2D 用于纹理采样 normalize :对⼀个向量量规格化 clamp 将⼀个向量固定在一个最小值和最大值之间 po ...
- OpenGL ES之GLSL自定义着色器编程实现粒子效果
效果展示 实现流程 一.自定义着色器 顶点着色器:YDWPointParticleShader.vsh // 位置 attribute vec3 a_emissionPosition; // 速度 a ...
最新文章
- linux shell 文件路径 分解 解析 切分 ${str:a:b} 用法
- 内核网络中的GRO、RFS、RPS技术介绍和调优
- 51系列中data,idata,xdata,pdata的区别[笔记]
- spark shell的运行模式汇总
- Statspack安装心得
- python是开源工具吗_微软最强 Python 自动化工具开源了!不用写一行代码
- Spring集成PageHelper的简单用法
- C语言动态存储分配函数
- 数据 3 分钟 | 阿里云国内市场份额高达40.3%;openGauss、GoldenDB、星环发布数据库最新版本...
- 基于Vue2.x的小米商城移动端项目
- Redhat6 网卡设置 IP地址及主机名配置
- mysql存储数据到cephfs_1.4 cephfs挂载
- linux底层内存管理--内核空间的伙伴系统
- Mysql rpm包安装
- 用vim写python代码的两个关键设置
- 80后的我,记忆里和吃有关的那些事
- 新人小白的第一次天池比赛感受
- 全国计算机三级嵌入式 - 题库 - 真题(含答案) - 未来教育 - 视频讲解 - 资料获取
- 新颖的自我介绍_简单新颖的自我介绍范文
- Mac下彻底卸载node和npm
热门文章
- java自行车内走线,科普向 公路车有几种全内走线方式?
- 渗透测试-文件上传/下载/包含
- 自动复制吱口令html,支付宝吱口令自动复制 JavaScript 脚本代码 码上中国博客
- springboot+微信小程序“微印象”在线打印预约系统的设计与实现毕业设计源码061642
- React pdf 电子书
- AIML标签中srai不起作用的原因
- 廖雪峰python教程阅读之条件判断
- 华为链路聚合(路由器和交换机)
- 【FTP】Entering Extended Passive Mode
- 使用visDrone数据集训练yolov5检测器