当前位置:   article > 正文

OpenGL ES之GLSL实现多种“马赛克滤镜”效果_android opengl es 实现马赛克

android opengl es 实现马赛克

⻢赛克效果

  • “⻢赛克效果”就是把图⽚的⼀个相当⼤⼩的区域⽤同⼀个点的颜⾊来表示,可以认为是⼤规模的降低图像的分辨率,⽽让图像的⼀些细节隐藏起来。

无马赛克滤镜

  • “无滤镜”效果的实现准备工作的代码与“无分屏滤镜”中的实现逻辑和流程一致,只需要修改相应的底部item数组及对应的着色器名称等,这里不再说明这部分内容,顶点着色器也没有任何变化,主要是针对片元着色器中GLSL代码的实现滤镜算法做具体的说明和实现;
  • 具体流程请参考:OpenGL ES之GLSL实现“分屏滤镜”效果

方形马赛克滤镜

一、效果展示

在这里插入图片描述

二、实现原理
① 滤镜算法
  • 根据纹理坐标计算实际图像中的位置,相当于将纹理颜色区放大;
  • 计算出一个小马赛克的坐标,即找到马赛克提取颜色值的像素点;
  • 将马赛克坐标换算回纹理坐标,即将纹理颜色区缩小;
② 计算过程
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/574006
推荐阅读
相关标签
  

闽ICP备14008679号