刚接触opengl 在学习那个tinywings的例子的时候用cocos2d-x 2.0重新写了一遍,由于cocos2d-x 2.0用的是opengl es 2.0 例子里那些opengl的代码用不了了,上网找例子看教程弄了好多天,现在创建出一块纯色的纹理,想要在纹理上画点图案的时候死活试不出来,看cocos2d-x的代码头都看晕了,没理法只好来求教了,各位大哥大姐看到了一定要指点一下哈
下面是试着写的一段 只能画出个纯色的纹理,是从cocos2d-x的代码里面拷出来然后根据例子里的opengles1.1的代码改了改拼出来的。。
那些参数都不对劲 不过也不知道怎么改了,改了就连那点颜色都没有了
CCGLProgram *s_pShader = CCShaderCache::sharedShaderCache()->programForKey(kCCShader_Position_uColor);
// s_pShader->use();
s_pShader->setUniformForModelViewProjectionMatrix();
int _textureUniform = glGetUniformLocation(s_pShader->getProgram(), "u_color");
s_pShader->setUniformLocationWith4fv(_textureUniform, (GLfloat*) &c.r, 1);
// glEnable(GL_TEXTURE_2D);
ccGLEnableVertexAttribs(kCCVertexAttribFlag_PosColorTex);
ccGLEnableVertexAttribs(kCCVertexAttrib_TexCoords);
glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, sizeof(ccVertex2F), vertices);
glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_FLOAT, GL_FALSE, sizeof(ccColor4F), colors);
ccGLBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glDrawArrays(GL_TRIANGLES, 0, (GLsizei)nVertices);
就是这些。。顺便推荐个教程吧。。着了好久也没有cocos2d-x 2.0的CCTexture2D的相关教程