//proton 3 version
https://github.com/fatalfeel/proton_sdk_source
//cocos2d version
https://code.google.com/p/cocos2d-x/dow ... p&can=1&q=
1.
cocos2d-2.0-rc2-x-2.0.1.zip is a ogles2 version
change code to ogles1 in win32, use USE_OPEN_GLES2 split ogles1/ogles2
example:
void ccGLEnableVertexAttribs ( KDuint uFlags )
{
ccGLBindVAO ( 0 );
// Position
bool bEnablePosition = uFlags & kCCVertexAttribFlag_Position;
if ( bEnablePosition != l_bVertexAttribPosition )
{
( bEnablePosition ) ?
#if defined ( USE_OPEN_GLES2 )
glEnableVertexAttribArray ( kCCVertexAttrib_Position ) :
glDisableVertexAttribArray ( kCCVertexAttrib_Position ) ;
#else
glEnableClientState ( GL_VERTEX_ARRAY ) :
glDisableClientState ( GL_VERTEX_ARRAY ) ;
#endif
l_bVertexAttribPosition = bEnablePosition;
}
// Color
bool bEnableColor = ( uFlags & kCCVertexAttribFlag_Color ) != 0 ? KD_TRUE : KD_FALSE;
if ( bEnableColor != l_bVertexAttribColor )
{
( bEnableColor ) ?
#if defined ( USE_OPEN_GLES2 )
glEnableVertexAttribArray ( kCCVertexAttrib_Color ) :
glDisableVertexAttribArray ( kCCVertexAttrib_Color ) ;
#else
glEnableClientState ( GL_COLOR_ARRAY ) :
glDisableClientState ( GL_COLOR_ARRAY ) ;
#endif
l_bVertexAttribColor = bEnableColor;
}
// Tex Coords
bool bEnableTexCoords = ( uFlags & kCCVertexAttribFlag_TexCoords ) != 0 ? TRUE : FALSE;
if ( bEnableTexCoords != l_bVertexAttribTexCoords )
{
if ( bEnableTexCoords )
{
#if defined ( USE_OPEN_GLES2 )
glEnableVertexAttribArray ( kCCVertexAttrib_TexCoords );
#else
glEnable ( GL_TEXTURE_2D );
glEnableClientState ( GL_TEXTURE_COORD_ARRAY );
#endif
}
else
{
#if defined ( USE_OPEN_GLES2 )
glDisableVertexAttribArray ( kCCVertexAttrib_TexCoords );
#else
glDisable ( GL_TEXTURE_2D );
glDisableClientState ( GL_TEXTURE_COORD_ARRAY );
#endif
}
l_bVertexAttribTexCoords = bEnableTexCoords;
}
}
//////////
void ccGLVertexAttribPointer ( GLuint uAttrib, GLint nSize, GLenum uType, GLboolean bNormalized, GLsizei nStride, const GLvoid* pPtr )
{
#if defined ( USE_OPEN_GLES2 )
glVertexAttribPointer ( uAttrib, nSize, uType, bNormalized, nStride, pPtr );
#else
switch ( uAttrib )
{
case kCCVertexAttrib_Position : glVertexPointer ( nSize, uType, nStride, pPtr ); break;
case kCCVertexAttrib_TexCoords : glTexCoordPointer ( nSize, uType, nStride, pPtr ); break;
case kCCVertexAttrib_Color : glColorPointer ( nSize, uType, nStride, pPtr ); break;
}
#endif
}
2.
combine proton and cocos2d ogles1 version
example here:
https://github.com/fatalfeel/proton_cm_open
3.
move to xcode ios combine proton and cocos2d ogles1
4. select USE_OPEN_GLES2 use ogles2 in xcode
5. move code to win32 combine ogles2 version