IOS OpenGL ES GPUImage 圖像源混合 GPUImageSourceOverBlendFilter

来源:https://www.cnblogs.com/shuopython/archive/2022/08/08/16564392.html
-Advertisement-
Play Games

目錄 一.簡介 二.效果演示 三.源碼下載 四.猜你喜歡 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 基礎 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 轉場 零基礎 O ...


目錄

零基礎 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 , 視覺效果相關.

GPUImageSourceOverBlendFilter 屬於 GPUImage 圖像混合模式相關,用於圖像源混合。shader 源碼如下:

/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:IOS – OpenGL ES GPUImage GPUImageSourceOverBlendFilter
//@Time:2022/07/02 06:30
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/


#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE
NSString *const kGPUImageSourceOverBlendFragmentShaderString = SHADER_STRING
(
 varying highp vec2 textureCoordinate;
 varying highp vec2 textureCoordinate2;

 uniform sampler2D inputImageTexture;
 uniform sampler2D inputImageTexture2;

 void main()
 {
   lowp vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);
   lowp vec4 textureColor2 = texture2D(inputImageTexture2, textureCoordinate);

   gl_FragColor = mix(textureColor, textureColor2, textureColor2.a);
 }
);
#else
NSString *const kGPUImageSourceOverBlendFragmentShaderString = SHADER_STRING
(
 varying vec2 textureCoordinate;
 varying vec2 textureCoordinate2;

 uniform sampler2D inputImageTexture;
 uniform sampler2D inputImageTexture2;

 void main()
 {
     vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);
     vec4 textureColor2 = texture2D(inputImageTexture2, textureCoordinate);

     gl_FragColor = mix(textureColor, textureColor2, textureColor2.a);
 }
 );
#endif

二.效果演示

使用 GPUImageSourceOverBlendFilter**,**源圖和目標圖如下:

使用GPUImageSourceOverBlendFilter 效果如下:

三.源碼下載

OpenGL ES Demo 下載地址 : IOS OpenGL ES GPUImage 圖像源混合 GPUImageSourceOverBlendFilter

四.猜你喜歡

  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

本文由博客 - 猿說編程 猿說編程 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ElementUI table無縫迴圈滾動 恰好實習的時候遇到了這個需求,而且網上的代碼有點僵硬,所以我改了改,順手水一篇博客出來。 部分思路來源:https://blog.csdn.net/qq_38543537/article/details/122842943 但是來源的代碼,在滾動到底部時會 ...
  • 我們在開發中,會自定義大量的組件,我們應該如何在兩個組件之間進行“值”的傳遞呢? 父子組件傳值 我們使用上一文中App.vue和HelloComp.vue組件來舉例 首先我們還是需要在APP.vue中引入HelloComp.vue <template> <div id="app"> <hello-c ...
  • 前言 前端在開發過程中若是管理系統之類的業務系統,則大多都會涉及到表格的處理,其中最為常見的就是表格的導入導出。有很多辦法都可以實現,其中最簡單的還是使用插件xlsx。 實現目標 1、對錶格數據進行增加、刪除。 2、表格數據的導出、導入。 具體邏輯 增加、刪除功能比較簡單,直接利用vue數據的響應式 ...
  • 粒子動畫,顧名思義,就是頁面上存在大量的粒子構建而成的動畫。傳統的粒子動畫主要由 Canvas、WebGL 實現。 當然,不使用 HTML + CSS 的主要原因在於,粒子動畫通常需要較多的粒子,而如果使用 HTML + CSS 的話勢必需要過多的 DOM 元素,這也就導致了使用 HTML + CS ...
  • “基於介面而非實現編程”是一條比較抽象、泛化的設計思想,其的另一個表述是“基於抽象而非實現編程”。從這條設計思想中衍生的理解就是,越抽象、越頂層、越脫離具體某一實現的設計,越能提高代碼的靈活性,越能應對未來的需求變化。 ...
  • 一、 設計思維 的概念和發展背景 設計思維是一種以用戶為中心,為產品或服務的目標用戶解決定義不明確或未知問題的思維方式。自從認知科學家和諾貝爾獎獲得者 Herbert A. Simon 在他1969年的著作《人工科學》中首次提到設計思維的概念之後,世界在不斷發展的過程中為其原理貢獻了許多想法——史蒂 ...
  • python 爬取 博客園 接 螞蟻學pythonP5生產者消費者爬蟲數據重覆問題 先看訪問地址 訪問地址是https://www.cnblogs.com/#p2 但是實際訪問地址是https://www.cnblogs.com 說明其中存在貓膩;像這種我們給定指定頁碼,按理應該是 post 請求才 ...
  • 變數用法與特征 變數綁定 let a = "hello world" 為何不用賦值而用綁定呢(其實你也可以稱之為賦值,但是綁定的含義更清晰準確)?這裡就涉及 Rust 最核心的原則——所有權,簡單來講,任何記憶體對象都是有主人的,而且一般情況下完全屬於它的主人,綁定就是把這個對象綁定給一個變數,讓這個 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...