<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          OpenGL shader 實(shí)現(xiàn)“百葉窗”特效

          共 347字,需瀏覽 1分鐘

           ·

          2022-05-14 12:51

          動(dòng)態(tài)圖

          代碼及詳解:

          代碼很簡(jiǎn)單,讓我們直接來(lái)看代碼和注釋

          varying?vec2?texcoord;

          //?uniform?float?iGlobalTime;
          //?uniform?vec2?iResolution;

          #define?PI?3.1415926f
          #define?PIx2?2.*PI
          #define?PI_HALF?PI/2.

          #iChannel0?"file://./yeah_0.jpg"
          #iChannel1?"file://./yeah.jpg"

          void?main()
          {
          ????vec2?uv?=?gl_FragCoord.xy?/?iResolution.xy;
          ????float?sinDegree?=?sin(PI_HALF?*?iTime);?///
          ????float?sinDegreeOffset?=?sinDegree?*?.1;??

          ????vec4?firstColor?=?texture2D(iChannel0,?uv);
          ????vec4?secondColor?=?texture2D(iChannel1,?uv);

          ????gl_FragColor?=?firstColor;

          ????///?@note?繪制多條?“線(xiàn)”
          ????float?alpha?=?0.,?beta?=?0.,?gamma?=?0.;
          ????for?(float?offset?=?0.0?;?offset?2.2
          ;?offset?+=?0.2)
          ????{
          ????????///?@note?y?方向上平移?offset?得到新的線(xiàn)條,?公式?y?=?-x?+?offset;
          ????????float?tmp?=?-uv.x?+?offset;?

          ????????///?@note?在兩條線(xiàn)之間(隨時(shí)間開(kāi)合)的區(qū)間
          ????????if?(uv.y?>?(tmp?-?sinDegreeOffset)?&&?uv.y?????????{
          ????????????gl_FragColor?=?secondColor;
          ????????}
          ????}
          }

          核心設(shè)計(jì)思想為

          其中 y = -x + offset 的函數(shù)圖如下所示

          image.png

          接著通過(guò)調(diào)節(jié) sinDegreeOffset 控制兩條線(xiàn)之間所夾的區(qū)域進(jìn)行 “開(kāi)閉”

          image.png

          原文鏈接: https://juejin.cn/post/7059024333565329444

          作者:ShaderJoy


          推薦:

          Android FFmpeg 實(shí)現(xiàn)帶濾鏡的微信小視頻錄制功能

          全網(wǎng)最全的 Android 音視頻和 OpenGL ES 干貨,都在這了

          一文掌握 YUV 圖像的基本處理

          抖音傳送帶特效是怎么實(shí)現(xiàn)的?

          所有你想要的圖片轉(zhuǎn)場(chǎng)效果,都在這了

          面試官:如何利用 Shader 實(shí)現(xiàn) RGBA 到 NV21 圖像格式轉(zhuǎn)換?

          我用 OpenGL ES 給小姐姐做了幾個(gè)抖音濾鏡

          瀏覽 144
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视频一区二区三区 | 久精品视频观看在线 | 青娱乐亚洲领先精品 | 成人Av影院三级片 | 波多野结衣av一区二区蜜桃观看 |