天天看点

细述Cocos Creator Shader与材质,能看完的都说好!

前言

Cocos creator 2.1以后引入了3D渲染的底层,所以引入了Shader和材质系统,比如精灵,下面有一个材质, 材质又选了一个Shader;

细述Cocos Creator Shader与材质,能看完的都说好!

1: 什么是Shader和材质?

Shader是一种给显卡GPU执行的程序, 是一种绘制算法,显卡的渲染流水线加载Shader代码后,就能够在绘制的时候执行Shader的代码。Cocos 有自己的一个Shader的结构,Shader的开发语言cocos使用的是GLSL编程语言。材质是一种配置文件,选好一个Shader,并指定好这个Shader所需要的参数;

1.2: cocos 物体是如何绘制的?

以Sprite组件为例,它有一个材质,这个时候绘制图片的时候,就使用这个材质,通过材质渲染管道准备好算法,和参数,这样,渲染管道就绘制出来。

2: 完整的Shader渲染流程(pass)

细述Cocos Creator Shader与材质,能看完的都说好!

3: cocos Shader的结构

3.1: 描述部分

1.  `顶点shader在哪里,着色shader在哪里?材质上的参数定义哪些,这个是描述部分。`
           
细述Cocos Creator Shader与材质,能看完的都说好!

3.2: 顶点Shader部分:

细述Cocos Creator Shader与材质,能看完的都说好!

3.3: 着色Shader部分:

细述Cocos Creator Shader与材质,能看完的都说好!

4: GLSL常用的概念:

GLSL变量精度级别:highp, mediump, lowp (高, 中, 低) attribute: 渲染管道传过来的数据, 只能在顶点Shader中使用; varying: vectex Shader, frag Shader 的传递变量 uniform: 外部程序可以来设置的变量;

如果需要完整告诉模糊Shader的同学,可以在文章下方评论区留言即可哦!

细述Cocos Creator Shader与材质,能看完的都说好!