学习cocos2d-x 以来一直对里面的shader部分感兴趣,今天正好花了点时间来研究一下精灵的描边效果。
主要参考了子龙山人大神的TestCpp里面例子并结合自己的理解,实现相对比较简单。主要是根据引擎内部自带的shader相关代码来实现的。
好了废话不多说看代码:
1。首先需要打开CCShaderCache.cpp文件修改里面部分代码,添加我们描边的效果。
在此枚举值里面加入:kShaderType_LabelOutline
2。然后在 voidShaderCache::loadDefaultShaders() 函数里面加入:
p =newGLProgram();
loadDefaultShader(p,kShaderType_SpriteTextureOutline);
_programs.insert(std::make_pair(GLProgram::SHADER_NAME_SPRITE_TEXTURE_OUTLINE, p ) );
3。至于GLProgram::