模板
路径
不同版本就进入不同版本的路径
D:\CocosDashboard_1.0.9\resources.editors\Creator\2.4.6\resources\engine\cocos2d\renderer\build\chunks
在input-standard.inc
中
想要拿到什么参数可以从这里复制
面板
源码
// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
// cocos描述
CCEffect %{
techniques:
- passes:
# 顶点
- vert: vs
# 面
frag: fs
blendState:
targets:
- blend: true
rasterizerState:
cullMode: none
# 属性列表
properties:
texture: { value: white }
alphaThreshold: { value: 0.5 }
# 新增属性
my_runTime: { value: 0 ,editor: { type: number ,tooltip: "时间"}}
my_diffuseColor: { value: [1, 1, 1, 1], editor: { type: color ,tooltip: "叠加颜色"} }
}%
// 顶点Shader
CCProgram vs %{
// GLSL 精度 高精度:highp 中精度:mediump 低精度 lowp
precision highp float;
#include <cc-global>
#include <cc-local>
//in 就是渲染管道传进来的数据
//顶点位置数据
in vec3 a_position;
//顶点颜色数据
in vec4 a_color;
out vec4 v_color;
#if USE_TEXTURE
//顶点纹理坐标
in vec2 a_uv0;
out vec2 v_uv0;
#endif
// #if USE_ATTRIBUTE_NORMAL
// //顶点法线
// in vec3 a_normal;
// #endif
void main () {
vec4 pos = vec4(a_position, 1);
#if CC_USE_MODEL
//cc_matViewProj 模型=》世界坐标 每次绘制时引擎自动传递
//cc_matWorld 世界=》透视坐标
pos = cc_matViewProj * cc_matWorld * pos;
#else
pos = cc_matViewProj * pos;
#endif
#if USE_TEXTURE
v_uv0 = a_uv0;
#endif
v_color = a_color;
gl_Position = pos;
}
}%
// 面Shader
CCProgram fs %{
precision highp float;
#include <alpha-test>
#include <texture>
in vec4 v_color;
#if USE_TEXTURE
in vec2 v_uv0;
uniform sampler2D texture;
//自定义字段
uniform block{
float my_runTime;
};
uniform blocktwo{
vec4 my_diffuseColor;
};
#endif
void main () {
// vec4 o = vec4(1, 1, 1, 1);
//修改颜色为变量颜色
vec4 o = my_diffuseColor;
vec2 myoffset=vec2(0,my_runTime);
#if USE_TEXTURE
CCTexture(texture, v_uv0+myoffset, o);
#endif
o *= v_color;
ALPHA_TEST(o);
#if USE_BGRA
gl_FragColor = o.bgra;
#else
gl_FragColor = o.rgba;
#endif
}
}%