2013-04-09 78 views
0

//我不知道這樣的想法,任何人都可以幫我 //紋理類型是CCTexture2D,_Vertices類型是CGPoint * _ COORDS類型是CGPoint *anyOne可以幫助我將這些從openGLES1.1轉換爲openGLES2.0嗎?

glBindTexture(GL_TEXTURE_2D, texture.name); 
glDisableClientState(GL_COLOR_ARRAY); 

glColor4f(1, 1, 1, 1); 
glVertexPointer(2, GL_FLOAT, 0, _Vertices); 
glTexCoordPointer(2, GL_FLOAT, 0, _Coords); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)_nVertices); 

glDisable(GL_TEXTURE_2D); 
glDisableClientState(GL_COLOR_ARRAY); 
glDisableClientState(GL_TEXTURE_COORD_ARRAY); 

glEnable(GL_TEXTURE_2D); 
glEnableClientState(GL_COLOR_ARRAY); 
glEnableClientState(GL_TEXTURE_COORD_ARRAY); 

回答

0
glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, texture.name); glUniform1i(/*insert texture uniform*/0, 1); 
glDisableVertexAttribArray(GLKVertexAttribColor); 

glUniform4f(/*insert color uniform*/0, 1, 1, 1, 1); 
glVertexAttribPointer(GLKVertexAttribPosition, 2, GL_FLOAT, GL_FALSE, 0, _Vertices); 
glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, 0, _Coords); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, (GLsizei)_nVertices); 

//glDisable(GL_TEXTURE_2D); 
glDisableVertexAttribArray(GLKVertexAttribColor); 
glDisableVertexAttribArray(GLKVertexAttribTexCoord0); 

//glEnable(GL_TEXTURE_2D); 
glEnableVertexAttribArray(GLKVertexAttribColor); 
glEnableVertexAttribArray(GLKVertexAttribTexCoord0); 

這應該是或多或少相當於ES2。我希望它能夠幫助你完成「翻譯」。

+0

非常感謝,我會盡快嘗試 – user1334186 2013-04-09 07:59:00

相關問題