<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

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

    共 347字,需瀏覽 1分鐘

     ·

    2022-05-14 12:51

    動態(tà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?繪制多條?“線”
    ????float?alpha?=?0.,?beta?=?0.,?gamma?=?0.;
    ????for?(float?offset?=?0.0?;?offset?2.2
    ;?offset?+=?0.2)
    ????{
    ????????///?@note?y?方向上平移?offset?得到新的線條,?公式?y?=?-x?+?offset;
    ????????float?tmp?=?-uv.x?+?offset;?

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

    核心設(shè)計思想為

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

    image.png

    接著通過調(diào)節(jié) sinDegreeOffset 控制兩條線之間所夾的區(qū)域進行 “開閉”

    image.png

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

    作者:ShaderJoy


    推薦:

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

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

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

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

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

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

    我用 OpenGL ES 給小姐姐做了幾個抖音濾鏡

    瀏覽 144
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    青青草AV导航 | 操逼123首页 | 精品乱子伦一区二区三区免费播放 | 欧美做爱高潮白 | 亚洲第一页面 |