IOS OpenGL ES GPUImage 色彩减淡混合 GPUImageColorDodgeBlendFilter

目录

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

零基础 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 , 视觉效果相关.

GPUImageColorDodgeBlendFilter 属于 GPUImage 混合模式相关,用于图像色彩减淡混合。shader 源码如下:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:IOS – OpenGL ES GPUImage GPUImageColorDodgeBlendFilter
//@Time:2022/07/16 06:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE
NSString *const kGPUImageColorDodgeBlendFragmentShaderString = SHADER_STRING
(precision mediump float;varying highp vec2 textureCoordinate;varying highp vec2 textureCoordinate2;uniform sampler2D inputImageTexture;uniform sampler2D inputImageTexture2;void main(){vec4 base = texture2D(inputImageTexture, textureCoordinate);vec4 overlay = texture2D(inputImageTexture2, textureCoordinate2);vec3 baseOverlayAlphaProduct = vec3(overlay.a * base.a);vec3 rightHandProduct = overlay.rgb * (1.0 - base.a) + base.rgb * (1.0 - overlay.a);vec3 firstBlendColor = baseOverlayAlphaProduct + rightHandProduct;vec3 overlayRGB = clamp((overlay.rgb / clamp(overlay.a, 0.01, 1.0)) * step(0.0, overlay.a), 0.0, 0.99);vec3 secondBlendColor = (base.rgb * overlay.a) / (1.0 - overlayRGB) + rightHandProduct;vec3 colorChoice = step((overlay.rgb * base.a + base.rgb * overlay.a), baseOverlayAlphaProduct);gl_FragColor = vec4(mix(firstBlendColor, secondBlendColor, colorChoice), 1.0);}
);
#else
NSString *const kGPUImageColorDodgeBlendFragmentShaderString = SHADER_STRING
(varying vec2 textureCoordinate;varying vec2 textureCoordinate2;uniform sampler2D inputImageTexture;uniform sampler2D inputImageTexture2;void main(){vec4 base = texture2D(inputImageTexture, textureCoordinate);vec4 overlay = texture2D(inputImageTexture2, textureCoordinate2);vec3 baseOverlayAlphaProduct = vec3(overlay.a * base.a);vec3 rightHandProduct = overlay.rgb * (1.0 - base.a) + base.rgb * (1.0 - overlay.a);vec3 firstBlendColor = baseOverlayAlphaProduct + rightHandProduct;vec3 overlayRGB = clamp((overlay.rgb / clamp(overlay.a, 0.01, 1.0)) * step(0.0, overlay.a), 0.0, 0.99);vec3 secondBlendColor = (base.rgb * overlay.a) / (1.0 - overlayRGB) + rightHandProduct;vec3 colorChoice = step((overlay.rgb * base.a + base.rgb * overlay.a), baseOverlayAlphaProduct);gl_FragColor = vec4(mix(firstBlendColor, secondBlendColor, colorChoice), 1.0);}
);
#endif

二.效果演示

使用 GPUImageColorDodgeBlendFilter****,****源图如下:

使用 GPUImageColorDodgeBlendFilter,效果如下:

三.源码下载

OpenGL ES Demo 下载地址 : IOS OpenGL ES GPUImage 色彩减淡混合 GPUImageColorDodgeBlendFilter

四.猜你喜欢

  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
  69. IOS OpenGL ES GPUImage 图像透明混合 GPUImageAlphaBlendFilter
  70. IOS OpenGL ES GPUImage 图像溶解 GPUImageDissolveBlendFilter
  71. IOS OpenGL ES GPUImage 图像叠加 GPUImageOverlayBlendFilter
  72. IOS OpenGL ES GPUImage 图像加深混合 GPUImageDarkenBlendFilter
  73. IOS OpenGL ES GPUImage 图像减淡混合 GPUImageLightenBlendFilter
  74. IOS OpenGL ES GPUImage 图像源混合 GPUImageSourceOverBlendFilter
  75. IOS OpenGL ES GPUImage 图像平移 GPUImageTransformFilter
  76. IOS OpenGL ES GPUImage 图像缩放 GPUImageTransformFilter
  77. IOS OpenGL ES GPUImage 图像旋转 GPUImageTransformFilter
  78. IOS OpenGL ES GPUImage 图像镜像 GPUImageTransformFilter
  79. IOS OpenGL ES GPUImage 色彩加深混合 GPUImageColorBurnBlendFilter
  80. IOS OpenGL ES GPUImage 色彩减淡混合 GPUImageColorDodgeBlendFilter

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云现场 | 为什么说边缘计算是5G时代的必备品?

戳蓝字“CSDN云计算”关注我们哦!作者:孙浩峰5G的出现把边缘计算推上了风口!5G的到来意味着什么,仅仅是可以在几秒内就下载一部高清电影么?显然不是。5G的到来,意味着更多新的业务形态、新的商业模式将会出…

IOS OpenGL ES GPUImage 滤色混合 GPUImageScreenBlendFilter

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

要闻君说:金拱门要进攻科技圈了?5G探索仍在继续,6G发现就已“上马”;Kubernetes 1.14版本正式来袭...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 国内暂时无法使用的Apple Card信用卡(图片来源网络)【3月27日 星期三】云の声音——华为爱尔兰官方推特【重磅要闻】这还是我们熟悉的金拱门吗?近…

idea中Terminal终端无法执行GIT命令

问题现象: 解决方法: 更改路径即可 Git\bin\bash.exe 或 Git\bin\sh.exe 然后重新启动idea即可

IOS OpenGL ES GPUImage 排除混合 GPUImageExclusionBlendFilter

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

Kafka精华问答 | Kafka有哪些使用场景?

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。今天就让我们一起来看看关于Kafka 的精华问答吧。1Q:Kafka的使用场景A: 1、M…

ZooKeeper启动报错 JAVA_HOME is incorrectly set

解决办法:在zkEnv.cmd文件中直接写死调用的jdk路径

IOS OpenGL ES GPUImage 差值混合 GPUImageDifferenceBlendFilter

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

腾云驾雾的计算,让你蒙圈了么?

戳蓝字“CSDN云计算”关注我们哦!译者:林小新首发:《计算机与网络》自从“云计算”与其分支“边缘计算”和“雾计算”推出以来,这三者之间的差异甚至让许多专业人士都感到困惑。但是当涉及到一般消费者、IT开发人员、数据分析师和…

IOS OpenGL ES GPUImage 减法混合 GPUImageSubtractBlendFilter

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

云现场 | 别等到WiFi断了 才明白云管理网络的重要性

戳蓝字“CSDN云计算”关注我们哦!作者:刘丹让你过几天没有Wi-Fi的生活,是一种什么样的感受?在现代人的生活里,离不开Wi-Fi已经成为日常,超市、酒店、住宅、医院、高铁……你能想到的所有场景几乎都已经部署…

idea terminal 不支持中文

idea terminal 不支持中文 问题现象,如图所示: 修改前 如下图 : 解决方案: 1、做一下配置,按图操作即可: 2、找到以下标记文件 3、打开bash.bashrc 在最后添加 export LANG"zh_CN.UTF-8" ex…

Spark精华问答 | Spark做大规模高性能数值计算可以吗?

Spark作为一个用来实现快速而通用的集群计算的平台。扩展了广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,在处理大规模数据集的时候,速度是非常重要的。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁…

解决Git Log在IDEA中乱码的问题

文章目录1. git bash2. 配置环境变量3. 效果图1. git bash 执行下面3条命令 文件提交编码格式 git config --global i18n.commitencoding utf-8这个主要就是log输出的编码格式 git config --global i18n.logoutputencoding utf-8界面编码格式 git config --global gui.enco…

IOS OpenGL ES GPUImage 强光混合 GPUImageHardLightBlendFilter

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

细说说傲腾与哈娜的那些事儿

戳蓝字“CSDN云计算”关注我们哦!开门见山,今天我们谈谈傲腾与哈娜的“很多事儿”,嗯,也就是英特尔 傲腾™ 数据中心级持久内存与 SAP HANA 2.0 SPS 03啦!众所周知,SAP HANA 2.0 SPS 03 包含众多针对 SAP H…

The authenticity of host 'github.com (52.74.223.119)' can't be established.

The authenticity of host ‘github.com (52.74.223.119)’ can’t be established. 在初始化git之后(git init),同时在github建立好仓库之后,本地也新增了ssh kye(ssh-keygen -t rsa -C ‘mail address’&#xff09…

IOS OpenGL ES GPUImage 柔光混合 GPUImageSoftLightBlendFilter

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

容器:开启应用微观时代

戳蓝字“CSDN云计算”关注我们哦!谈到数字化转型,大多数文章的表达方式大概都是“在时代从互联网进入产业互联网的背景下,所有行业都应该拥抱云计算、大数据和人工智能……”好像只要开出这三味药名就能药到病除。谈到容器与微服务&#xff0…

IOS OpenGL ES GPUImage 色度键混合 GPUImageChromaKeyBlendFilter

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