ShaderToy中案例的移植

  • 前言: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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容