日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter

發(fā)布時(shí)間:2024/9/27 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一.簡介
  • 二.效果演示
  • 三.源碼下載
  • 四.猜你喜歡

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES 基礎(chǔ)

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES 轉(zhuǎn)場

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES 特效

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES 函數(shù)

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES GPUImage 使用

零基礎(chǔ) OpenGL (ES) 學(xué)習(xí)路線推薦 : OpenGL (ES) 學(xué)習(xí)目錄 >> OpenGL ES GLSL 編程

一.簡介

GPUImage 共 125 個(gè)濾鏡, 分為四類

1、Color adjustments : 31 filters , 顏色處理相關(guān)
2、Image processing : 40 filters , 圖像處理相關(guān).
3、Blending modes : 29 filters , 混合模式相關(guān).
4、Visual effects : 25 filters , 視覺效果相關(guān).

GPUImageHighlightShadowFilter 屬于 GPUImage 顏色處理相關(guān),用來處理圖片陰影,shader 源碼如下:

/******************************************************************************************/ //@Author:猿說編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:IOS – OpenGL ES 調(diào)節(jié)圖像陰影 GPUImageHighlightShadowFilter //@Time:2022/03/17 07:30 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /******************************************************************************************/#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE NSString *const kGPUImageHighlightShadowFragmentShaderString = SHADER_STRING ( uniform sampler2D inputImageTexture; varying highp vec2 textureCoordinate;uniform lowp float shadows; uniform lowp float highlights;const mediump vec3 luminanceWeighting = vec3(0.3, 0.3, 0.3);void main() {lowp vec4 source = texture2D(inputImageTexture, textureCoordinate);mediump float luminance = dot(source.rgb, luminanceWeighting);mediump float shadow = clamp((pow(luminance, 1.0/(shadows+1.0)) + (-0.76)*pow(luminance, 2.0/(shadows+1.0))) - luminance, 0.0, 1.0);mediump float highlight = clamp((1.0 - (pow(1.0-luminance, 1.0/(2.0-highlights)) + (-0.8)*pow(1.0-luminance, 2.0/(2.0-highlights)))) - luminance, -1.0, 0.0);lowp vec3 result = vec3(0.0, 0.0, 0.0) + ((luminance + shadow + highlight) - 0.0) * ((source.rgb - vec3(0.0, 0.0, 0.0))/(luminance - 0.0));gl_FragColor = vec4(result.rgb, source.a); } ); #else NSString *const kGPUImageHighlightShadowFragmentShaderString = SHADER_STRING (uniform sampler2D inputImageTexture;varying vec2 textureCoordinate;uniform float shadows;uniform float highlights;const vec3 luminanceWeighting = vec3(0.3, 0.3, 0.3);void main(){vec4 source = texture2D(inputImageTexture, textureCoordinate);float luminance = dot(source.rgb, luminanceWeighting);float shadow = clamp((pow(luminance, 1.0/(shadows+1.0)) + (-0.76)*pow(luminance, 2.0/(shadows+1.0))) - luminance, 0.0, 1.0);float highlight = clamp((1.0 - (pow(1.0-luminance, 1.0/(2.0-highlights)) + (-0.8)*pow(1.0-luminance, 2.0/(2.0-highlights)))) - luminance, -1.0, 0.0);vec3 result = vec3(0.0, 0.0, 0.0) + ((luminance + shadow + highlight) - 0.0) * ((source.rgb - vec3(0.0, 0.0, 0.0))/(luminance - 0.0));gl_FragColor = vec4(result.rgb, source.a);} ); #endif

二.效果演示

三.源碼下載

下載地址 : IOS – OpenGL ES 調(diào)節(jié)圖像陰影 GPUImageHighlightShadowFilter

四.猜你喜歡

  • IOS – OPenGL ES 設(shè)置圖像亮度 GPUImageBrightnessFilter
  • IOS – OPenGL ES 調(diào)節(jié)圖像曝光度 GPUImageExposureFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像對(duì)比度 GPUImageContrastFilter
  • IOS – OPenGL ES 調(diào)節(jié)圖像飽和度 GPUImageSaturationFilter
  • IOS – OPenGL ES 調(diào)節(jié)圖像伽馬線 GPUImageGammaFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像反色 GPUImageColorInvertFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像褐色 GPUImageSepiaFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像灰色 GPUImageGrayscaleFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像 RGB 通道 GPUImageRGBFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像不透明度 GPUImageOpacityFilter
  • IOS – OpenGL ES 調(diào)節(jié)圖像陰影 GPUImageHighlightShadowFilter
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的IOS – OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。