美文网首页
ShaderToy中案例的移植

ShaderToy中案例的移植

作者: 飞羽田海 | 来源:发表于2020-02-05 15:13 被阅读0次
    • 前言:ShaderToy上有很多脑洞新奇、酷炫的案例,能激发我们学习OpenGL的热情。本文介绍将ShaderToy上的案例移植到iOS上需要注意的点。

    • ShaderToy中的案例,片源着色器的代码基本不用更改,不过需要注意几个内置变量和一些代码在GLSL语法中的写法。

      void mainImage() 对应glsl中的 void main()函数;
      
       fragColor变量对应glsl中的内置变量gl_FragColor;
      
       vec2 uv = fragCoord.xy / iResolution.xy 这段代码的含义就是求得画布的纹理坐标[-1,1];
      
       iTime 代表程序执行的时间,单位为秒(second);
      

      另外还需提醒的就是:如果片元着色器中的运算很复杂、耗时,此时就需要把渲染的代码放到子线程中,减少主线程的负担。

      Demo效果如下:


      第一次.gif

      Demo中案例的源链接
      Flame
      Octagrams

    相关文章

      网友评论

          本文标题:ShaderToy中案例的移植

          本文链接:https://www.haomeiwen.com/subject/jnesxhtx.html