1. GLProgram
if( 'opengl' in cc.sys.capabilities ) {
var program = cc.GLProgram.create("res/Shaders/example_ColorBars.vsh", "res/Shaders/example_ColorBars.fsh");
program.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
program.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
program.link();
program.updateUniforms();
var label = cc.LabelBMFont.create("RETRO EFFECT","res/fonts/west_england-64.fnt");
label.shaderProgram = program;
label.x = winSize.width/2;
label.y = winSize.height/2;
this.addChild(label);
this.scheduleUpdate();
this.label = label;
this.accum = 0;
}
2. update
update:function(dt) {
this.accum += dt;
var children = this.label.children;
for( var i in children ) {
var sprite = children[i];
sprite.y = Math.sin( this.accum * 2 + i/2.0) * 20;
// add fabs() to prevent negative scaling
var scaleY = ( Math.sin( this.accum * 2 + i/2.0 + 0.707) );
sprite.scaleY = scaleY;
}
},
3.Shard node
var shaderNode = new ShaderNode("res/Shaders/example_Monjori.vsh", "res/Shaders/example_Monjori.fsh");