diff --git a/GameLib/Draw.c b/GameLib/Draw.c index ea5e0fa..0000ee6 100644 --- a/GameLib/Draw.c +++ b/GameLib/Draw.c @@ -149,6 +149,10 @@ int Draw_Init(int width,int height,char *title,int pfps,int fps){ glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + glEnableClientState(GL_COLOR_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glEnableClientState(GL_VERTEX_ARRAY); + // Initialize the triangle array _quadArray=QuadArray2D_Create(400); @@ -407,10 +411,6 @@ void Draw_Flush(){ // Draw the quad array glBindTexture(GL_TEXTURE_2D, _currentImg->tex); - glEnableClientState(GL_COLOR_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glEnableClientState(GL_VERTEX_ARRAY); - glColorPointer( 4, GL_FLOAT, Vertex2D_Length*sizeof(float), (GLvoid *)(_quadArray->vertexData+4) ); glTexCoordPointer( 2, GL_FLOAT, Vertex2D_Length*sizeof(float), @@ -418,11 +418,7 @@ void Draw_Flush(){ glVertexPointer( 2, GL_FLOAT, Vertex2D_Length*sizeof(float), (GLvoid *)(_quadArray->vertexData) ); - glDrawArrays(GL_QUADS,0,_quadArray->nVertex); - - glDisableClientState(GL_COLOR_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); + glDrawArrays(GL_TRIANGLES,0,_quadArray->nVertex); // Empty it QuadArray2D_Clean(_quadArray); diff --git a/GameLib/QuadArray2D.c b/GameLib/QuadArray2D.c index ef29a08..ff98778 100644 --- a/GameLib/QuadArray2D.c +++ b/GameLib/QuadArray2D.c @@ -69,7 +69,10 @@ void QuadArray2D_AddQuad(QuadArray2D quadArray, // Add the vertexes v[0]=x0; v[1]=y0; v[2]=u0; v[3]=v0; QuadArray2D_AddVertex(quadArray,v); v[0]=x1; v[1]=y0; v[2]=u1; v[3]=v0; QuadArray2D_AddVertex(quadArray,v); + v[0]=x1; v[1]=y1; v[2]=u1; v[3]=v1; QuadArray2D_AddVertex(quadArray,v); + v[0]=x1; v[1]=y1; v[2]=u1; v[3]=v1; QuadArray2D_AddVertex(quadArray,v); v[0]=x0; v[1]=y1; v[2]=u0; v[3]=v1; QuadArray2D_AddVertex(quadArray,v); + v[0]=x0; v[1]=y0; v[2]=u0; v[3]=v0; QuadArray2D_AddVertex(quadArray,v); }