Cocos 2.3 Shader 编写示例

要火哟

https://thebookofshaders.com/06/?lan=ch
The Book of Shaders 目测能够让人从0开始入门shader的最牛教材.

1赞

mark

真的流弊

:14:

nice

mark 膜拜

你为啥这么秀?火钳mark

大佬们 求一个在片段着色器中使用for,并且for的初值和终值不是常量的方法

这里的rand是什么意思啊?

自定义的随机函数呀.

片断着色每次执行的时候就是处理一个像素的内容的啊, 你用for 是要干啥.

mark~

代码里面有很多不知道从哪里来的变量、函数,比如:

void main () {
    vec4 o = vec4(1, 1, 1, 1);

    o = v_color***texture**(texture, v_uv0);

   // 使用三角函数,分别生成rgb通道的 强弱数值,范围都是[0-1], 然后同时叠加给正常的像素颜色值.
    float r =** abs(sin(time));**
    float g = abs(cos(time*1.7));
    float b = abs(sin(time*2.3));
    o.r *= r;
    o.g *= g;
    o.b *= b;

    **gl_FragColor** = o;
  }

这里的Texture函数,三角函数,还有gl_FragColor变量都是什么东西? 是Shader自带的函数和变量对吗?这部分相关的知识哪里有呀

我也刚学,应该是的。可以搜glsl es

https://thebookofshaders.com/09/?lan=ch
这个在线网站可以实时编写shader并查看效果. 也讲了很多shader的原理.
里边的函数和变量是 glsl 的内置变量和内置函数, 就像c 语言的内置函数一样.

内置函数/变量 介绍:
https://www.jianshu.com/p/66b10062bd67
https://www.khronos.org/registry/OpenGL-Refpages/gl4/

8赞

到我的收藏夹吃灰吧:baby:

mark mark

感谢!看了之后明白多了

mark!