解决了困扰一整天的纹理颜色设置的问题

时间:2022-02-10 04:37:02

290人阅读评论(0)收藏举报

1、用途:我把cocos2d生成的文字字形缓存起来以提高效率,没有走CCLabelTTF--CCSprite那套,而是直接使用CCTexture2D::drawAtPoint绘制到屏幕上。所以一个纹理要直接支持颜色设置(把文字绘制成不同颜色)。

 

2、基本流程:

     a、纹理创建的时候使用  setShaderProgram(CCShaderCache::sharedShaderCache()->programForKey(kCCShader_PositionTextureColor));  设置shader

     b、draw的时候先开启颜色设置   ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position | kCCVertexAttribFlag_TexCoords | kCCVertexAttribFlag_Color);

     c、启用shader

  1. if (m_pShaderProgram) { 
  2.         m_pShaderProgram