Cocos creator 2.1以后引入了3D渲染的底层,所以引入了Shader和材质系统,比如精灵,下面有一个材质, 材质又选了一个Shader;
1: 什么是Shader和材质?
Shader是一种给显卡GPU执行的程序, 是一种绘制算法,显卡的渲染流水线加载Shader代码后,就能够在绘制的时候执行Shader的代码。Cocos 有自己的一个Shader的结构,Shader的开发语言cocos使用的是GLSL编程语言。
材质是一种配置文件,选好一个Shader,并指定好这个Shader所需要的参数;
2: cocos 物体是如何绘制的?
以Sprite组件为例,它有一个材质,这个时候绘制图片的时候,就使用这个材质,通过材质渲染管道准备好算法,和参数,这样,渲染管道就绘制出来。
2: 完整的Shader渲染流程(pass)
3: cocos Shader的结构
1: 描述部分
顶点shader在哪里,着色shader在哪里?材质上的参数定义哪些,这个是描述部分。
2: 顶点Shader部分:
3: 着色Shader部分:
4: GLSL常用的概念:
GLSL变量精度级别: highp, mediump, lowp (高, 中, 低)
attribute: 渲染管道传过来的数据, 只能在顶点Shader中使用;
varying: vectex Shader, frag Shader 的传递变量
uniform: 外部程序可以来设置的变量;
如果需要完整creator Shader的同学,可以私聊我
网友评论