前言: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效果如下:
ShaderToy中案例的移植
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 转自http://m.blog.csdn.net/qq_31518167/article/details/5198...
- 关于着色器 着色器是用来实现图像渲染的,用来替代固定渲染管线的可编程程序。着色器替代了传统的固定渲染管线,可以实现...