#四丶 cocos creator Shader

基于cocos creator2.4.7版本的引擎
https://github.com/SaltedFish1012/cocosEffctProject

effct

首先在引擎中创建一个effct,打开之后看到分成三个部分
图片加载失败
既图中的渲染流程清单,顶点着色器,片段着色器。详细说明在图中也有说明。
因为目前cocos版本的shader是基于GLSL 300 ES的。所以按照GLSL的语法即可。

cocos

cocos shader与GLSL的一些宏定义上有是有区别的,在cocos creator源码的BaseRender中声明了这些cocos shader使用的宏定义

static const size_t cc_lightDirection;
static const size_t cc_lightColor;
static const size_t cc_lightPositionAndRange;
static const size_t cc_shadow_map[4];
static const size_t cc_shadow_map_lightViewProjMatrix;
static const size_t cc_shadow_map_info;
static const size_t cc_shadow_map_bias;
static const size_t cc_shadow_lightViewProjMatrix;
static const size_t cc_shadow_info;
static const size_t cc_matView;
static const size_t cc_matViewInv;
static const size_t cc_matWorld;
static const size_t cc_matWorldIT;
static const size_t cc_matProj;
static const size_t cc_matViewProj;
static const size_t cc_cameraPos;
static const size_t cc_time;

文档: https://docs.cocos.com/creator3d/manual/zh/material-system/builtin-shader-uniforms.html