目录

  • 一.简介
  • 二.效果演示
  • 三.源码下载
  • 四.猜你喜欢

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 特效

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 函数

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES GLSL 编程

一.简介

GPUImage 共 125 个滤镜, 分为四类

1、Color adjustments : 31 filters , 颜色处理相关
2、Image processing : 40 filters , 图像处理相关.
3、Blending modes : 29 filters , 混合模式相关.
4、Visual effects : 25 filters , 视觉效果相关.

GPUImageNormalBlendFilter 属于 GPUImage 图像混合模式相关,用于图像 alpha 混合。shader 源码如下:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:IOS – OpenGL ES GPUImage GPUImageNormalBlendFilter
//@Time:2022/07/02 06:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE
NSString *const kGPUImageNormalBlendFragmentShaderString = SHADER_STRING
(varying highp vec2 textureCoordinate;varying highp vec2 textureCoordinate2;uniform sampler2D inputImageTexture;uniform sampler2D inputImageTexture2;void main(){lowp vec4 c2 = texture2D(inputImageTexture, textureCoordinate);lowp vec4 c1 = texture2D(inputImageTexture2, textureCoordinate2);lowp vec4 outputColor;//     outputColor.r = c1.r + c2.r * c2.a * (1.0 - c1.a);
//     outputColor.g = c1.g + c2.g * c2.a * (1.0 - c1.a);
//     outputColor.b = c1.b + c2.b * c2.a * (1.0 - c1.a);
//     outputColor.a = c1.a + c2.a * (1.0 - c1.a);lowp float a = c1.a + c2.a * (1.0 - c1.a);lowp float alphaDivisor = a + step(a, 0.0); // Protect against a divide-by-zero blacking out things in the outputoutputColor.r = (c1.r * c1.a + c2.r * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.g = (c1.g * c1.a + c2.g * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.b = (c1.b * c1.a + c2.b * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.a = a;gl_FragColor = outputColor;}
);
#else
NSString *const kGPUImageNormalBlendFragmentShaderString = SHADER_STRING
(varying vec2 textureCoordinate;varying vec2 textureCoordinate2;uniform sampler2D inputImageTexture;uniform sampler2D inputImageTexture2;void main(){vec4 c2 = texture2D(inputImageTexture, textureCoordinate);vec4 c1 = texture2D(inputImageTexture2, textureCoordinate2);vec4 outputColor;//     outputColor.r = c1.r + c2.r * c2.a * (1.0 - c1.a);//     outputColor.g = c1.g + c2.g * c2.a * (1.0 - c1.a);//     outputColor.b = c1.b + c2.b * c2.a * (1.0 - c1.a);//     outputColor.a = c1.a + c2.a * (1.0 - c1.a);float a = c1.a + c2.a * (1.0 - c1.a);float alphaDivisor = a + step(a, 0.0); // Protect against a divide-by-zero blacking out things in the outputoutputColor.r = (c1.r * c1.a + c2.r * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.g = (c1.g * c1.a + c2.g * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.b = (c1.b * c1.a + c2.b * c2.a * (1.0 - c1.a))/alphaDivisor;outputColor.a = a;gl_FragColor = outputColor;}
);
#endif

二.效果演示

使用****GPUImageNormalBlendFilter,****源图和目标图如下:

使用GPUImageNormalBlendFilter 效果如下:

三.源码下载

OpenGL ES Demo 下载地址 : IOS OpenGL ES GPUImage 图像混合 GPUImageNormalBlendFilter

四.猜你喜欢

  1. IOS OPenGL ES 设置图像亮度 GPUImageBrightnessFilter
  2. IOS OPenGL ES 调节图像曝光度 GPUImageExposureFilter
  3. IOS OpenGL ES 调节图像对比度 GPUImageContrastFilter
  4. IOS OPenGL ES 调节图像饱和度 GPUImageSaturationFilter
  5. IOS OPenGL ES 调节图像伽马线 GPUImageGammaFilter
  6. IOS OpenGL ES 调节图像反色 GPUImageColorInvertFilter
  7. IOS OpenGL ES 调节图像褐色 GPUImageSepiaFilter
  8. IOS OpenGL ES 调节图像灰色 GPUImageGrayscaleFilter
  9. IOS OpenGL ES 调节图像 RGB 通道 GPUImageRGBFilter
  10. IOS OpenGL ES 调节图像不透明度 GPUImageOpacityFilter
  11. IOS OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter
  12. IOS OpenGL ES 调节图像色彩替换 GPUImageFalseColorFilter
  13. GPUImage – 色彩直方图 GPUImageHistogramFilter
  14. GPUImage – 色彩直方图 GPUImageHistogramGenerator
  15. GPUImage – 像素平均色值 GPUImageAverageColor
  16. GPUImage – 亮度平均 GPUImageLuminosity
  17. IOS OpenGL ES 调节图像色度 GPUImageHueFilter
  18. IOS OpenGL ES 指定颜色抠图 GPUImageChromaKeyFilter
  19. IOS OpenGL ES 调节图像白平衡/色温 GPUImageWhiteBalanceFilter
  20. IOS OpenGL ES 设置图像 lookup 滤镜 GPUImageLookupFilter
  21. IOS OpenGL ES 设置图像滤镜 GPUImageAmatorkaFilter
  22. IOS OpenGL ES 设置图像滤镜 GPUImageSoftEleganceFilter
  23. IOS OpenGL ES 设置图像锐化 GPUImageSharpenFilter
  24. IOS OpenGL ES 绘制十字 GPUImageCrosshairGenerator
  25. IOS OpenGL ES 绘制线条 GPUImageLineGenerator
  26. IOS OpenGL ES 设置图像黑白燥点 GPUImageLocalBinaryPatternFilter
  27. IOS OpenGL ES 设置图像卡通效果(黑色粗线描边) GPUImageToonFilter
  28. IOS OpenGL ES 桑原滤波/水粉画模糊效果 GPUImageKuwaharaFilter
  29. IOS OpenGL ES 黑白马赛克效果 GPUImageMosaicFilter
  30. IOS OpenGL ES 像素化马赛克效果 GPUImagePixellateFilter
  31. IOS OpenGL ES 同心圆像素化马赛克效果 GPUImagePolarPixel
  32. IOS OpenGL ES 黑白网状效果 GPUImageCrosshatchFilter
  33. IOS OpenGL ES 色彩丢失/模糊效果 GPUImageColorPackingFilter
  34. IOS OpenGL ES 图像晕影 GPUImageVignetteFilter
  35. IOS OpenGL ES 图像漩涡 GPUImageSwirlFilter
  36. IOS OpenGL ES 图像鱼眼扩散效果 GPUImageBulgeDistortionFilter
  37. IOS OpenGL ES 图像鱼眼移动效果 GPUImageBulgeDistortionFilter
  38. IOS OpenGL ES 图像凹面镜移动效果 GPUImagePinchDistortionFilter
  39. IOS OpenGL ES 图像凹面镜放大效果 GPUImagePinchDistortionFilter
  40. IOS OpenGL ES 图像哈哈镜效果 GPUImageStretchDistortionFilter
  41. IOS OpenGL ES 图像水晶球效果 GPUImageGlassSphereFilter
  42. IOS OpenGL ES 图像球形折射 GPUImageSphereRefractionFilter
  43. IOS OpenGL ES 图像色调分离噪点效果 GPUImagePosterizeFilter
  44. IOS OpenGL ES 图像 CGA 色彩滤镜 GPUImageCGAColorspaceFilter
  45. IOS OpenGL ES 图像柏林噪点/花边噪点 GPUImagePerlinNoiseFilter
  46. IOS OpenGL ES 图像加亮边缘 GPUImage3x3ConvolutionFilter
  47. IOS OpenGL ES 图像浮雕 3d 效果 GPUImageEmbossFilter
  48. IOS OpenGL ES 图像马赛克圆点 GPUImagePolkaDotFilter
  49. IOS OpenGL ES 图像侵蚀边缘黑白模糊 GPUImageErosionFilter
  50. IOS OpenGL ES 图像侵蚀边缘色彩模糊 GPUImageRGBErosionFilter
  51. IOS OpenGL ES 图像扩展边缘黑白模糊 GPUImageDilationFilter
  52. IOS OpenGL ES 图像扩展边缘彩色模糊 GPUImageRGBDilationFilter
  53. IOS OpenGL ES GPUImage 黑白色调模糊 GPUImageOpeningFilter
  54. IOS OpenGL ES GPUImage 彩色模糊 GPUImageRGBOpeningFilter
  55. IOS OpenGL ES GPUImage 图像黑白色调模糊/暗色提亮 GPUImageClosingFilter
  56. IOS OpenGL ES GPUImage 图像彩色调模糊/暗色提亮 GPUImageRGBClosingFilter
  57. IOS OpenGL ES GPUImage 图像 Lanczos 重取样模糊效果 GPUImageLanczosResamplingFilter
  58. IOS OpenGL ES GPUImage 图像显示亮度最高的像素,其他为黑 GPUImageNonMaximumSuppressionFilter
  59. IOS OpenGL ES GPUImage 图像显示亮度最高的像素,其他为黑 GPUImageThresholdedNonMaximumSuppressionFilter
  60. IOS OpenGL ES GPUImage 图像 Sobel 边缘检测,类似漫画反色 GPUImageSobelEdgeDetectionFilter
  61. IOS OpenGL ES GPUImage GPUImageWeakPixelInclusionFilter
  62. IOS OpenGL ES GPUImage GPUImageDirectionalNonMaximumSuppressionFilter
  63. IOS OpenGL ES GPUImage 图像阈值边缘检测 GPUImageThresholdEdgeDetectionFilter
  64. IOS OpenGL ES GPUImage 图像普瑞维特(Prewitt)边缘检测 GPUImagePrewittEdgeDetectionFilter
  65. IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter
  66. IOS OpenGL ES GPUImage 图像阀值素描,形成有噪点的素描 GPUImageThresholdSketchFilter
  67. IOS OpenGL ES GPUImage 图像阴影和深度效果 GPUImageMultiplyBlendFilter
  68. IOS OpenGL ES GPUImage 图像混合 GPUImageNormalBlendFilter

IOS OpenGL ES GPUImage 图像混合 GPUImageNormalBlendFilter相关推荐

  1. IOS OpenGL ES GPUImage 滤色混合 GPUImageScreenBlendFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  2. IOS OpenGL ES GPUImage 图像缩放 GPUImageTransformFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  3. IOS OpenGL ES GPUImage 遮罩混合 GPUImageMaskFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  4. IOS OpenGL ES GPUImage 图像叠加 GPUImageOverlayBlendFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  5. IOS OpenGL ES GPUImage 柔光混合 GPUImageSoftLightBlendFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  6. IOS OpenGL ES GPUImage 排除混合 GPUImageExclusionBlendFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  7. IOS OpenGL ES GPUImage 图像Lanczos重取样模糊效果 GPUImageLanczosResamplingFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  8. IOS OpenGL ES GPUImage 图像普瑞维特(Prewitt)边缘检测 GPUImagePrewittEdgeDetectionFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  9. IOS OpenGL ES GPUImage 图像Sobel边缘检测,类似漫画反色 GPUImageSobelEdgeDetectionFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

最新文章

  1. oracle在日期区间分页查询,Oracle 日期分页
  2. python画折线图代码-Python折线图的分析过程和画图的方法
  3. ML与math:机器学习与高等数学基础概念、代码实现、案例应用之详细攻略——基础篇
  4. java方法6_6. java 方法
  5. C#用WebBrowser与WIN API辅助模拟获取网站完整Cookie
  6. 策略模式Strategy Pattern应用场景
  7. php数据类型_PHP数据类型能力问题和解答
  8. matlab guide 自定义右键菜单
  9. php和windows对应,哪个.so文件可以用于windows系统中与.dll文件相对应的linux系统,以便将php连接到ms sql server...
  10. 轻量化网络:SqueezeNext
  11. 新技能 get —— Python 断点续传下载文件
  12. GCC编译宏_GLIBCXX_USE_CXX11_ABI背景分析和实现原理
  13. (五)Kotlin简单易学 基础语法-初始函数(下)
  14. catia v5r20破解版 32位64位 安装说明方法
  15. 图像处理直方图均衡化
  16. 科研实验用,TPGS-COOH羧基修饰维生素E聚乙二醇琥珀酸酯
  17. 科创板、香港主板、纳斯达克三地部门上市条件和要求
  18. 实例九— 除法器设计
  19. 在江南这四年(成长分享)
  20. python温度转换代码示例_python温度转换华氏温度实现代码

热门文章

  1. Advent Technologies就收购fischer Group燃料电池系统业务达成最终协议
  2. Unity解决同材质物体重叠产生Z-Fighting的问题
  3. my.cnf mysqld mysql_mysql配置文件my.cnf详解[部分]
  4. 电影评分次数Top10问题
  5. 临沂一中高考2021成绩查询,喜报: 临沂一中2017高考 再创辉煌
  6. 第一台全部采用超级计算机,北京时间2016年6月20日,(神威·太湖之光)是我国第一台全部采用国产处理的世界最快的超级计算机。...
  7. realvnc中文版,realvnc中文版使用教程图解
  8. roundrobin来历_golang实现权重轮询调度算法(Weighted Round-Robin Scheduling)
  9. elasticsearch中DSL之Span queries
  10. OpenCV学习笔记(14):形态学滤波对图像进行边缘及角点检测