diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libjin/Graphics/Drawable.cpp | 4 | ||||
-rw-r--r-- | src/libjin/Graphics/Font.cpp | 6 | ||||
-rw-r--r-- | src/libjin/Graphics/Shapes.cpp | 12 | ||||
-rw-r--r-- | src/libjin/Graphics/Window.cpp | 8 |
4 files changed, 8 insertions, 22 deletions
diff --git a/src/libjin/Graphics/Drawable.cpp b/src/libjin/Graphics/Drawable.cpp index dc1c8dd..008d54e 100644 --- a/src/libjin/Graphics/Drawable.cpp +++ b/src/libjin/Graphics/Drawable.cpp @@ -42,13 +42,9 @@ namespace graphics glPushMatrix(); glMultMatrixf((const GLfloat*)t.getElements()); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); glTexCoordPointer(2, GL_FLOAT, 0, textCoord); glVertexPointer(2, GL_FLOAT, 0, vertCoord); glDrawArrays(GL_QUADS, 0, 4); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); /* pop the model matrix */ glPopMatrix(); diff --git a/src/libjin/Graphics/Font.cpp b/src/libjin/Graphics/Font.cpp index 1d88280..4988702 100644 --- a/src/libjin/Graphics/Font.cpp +++ b/src/libjin/Graphics/Font.cpp @@ -80,9 +80,6 @@ namespace graphics glBindTexture(GL_TEXTURE_2D, texture); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - // for saving clip quad stbtt_aligned_quad q; @@ -141,9 +138,6 @@ namespace graphics glDrawArrays(GL_QUADS, 0, 4); } - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); - glBindTexture(GL_TEXTURE_2D, 0); } diff --git a/src/libjin/Graphics/Shapes.cpp b/src/libjin/Graphics/Shapes.cpp index f4c5093..13935d2 100644 --- a/src/libjin/Graphics/Shapes.cpp +++ b/src/libjin/Graphics/Shapes.cpp @@ -14,20 +14,14 @@ namespace graphics void point(int x, int y) { float vers[] = { x + 0.5f , y + 0.5f }; - glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)vers); glDrawArrays(GL_POINTS, 0, 1); - glDisableClientState(GL_VERTEX_ARRAY); } void points(int n, GLshort* p) { - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_SHORT, 0, (GLvoid*)p); glDrawArrays(GL_POINTS, 0, n); - - glDisableClientState(GL_VERTEX_ARRAY); } void line(int x1, int y1, int x2, int y2) @@ -37,10 +31,8 @@ namespace graphics x2, y2 }; - glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)verts); glDrawArrays(GL_LINES, 0, 2); - glDisableClientState(GL_VERTEX_ARRAY); } void circle(RenderMode mode, int x, int y, int r) @@ -92,10 +84,8 @@ namespace graphics verts[i * 4 + 3] = p[(i + 1) % count * 2 + 1]; } - glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)verts); glDrawArrays(GL_LINES, 0, count * 2); - glDisableClientState(GL_VERTEX_ARRAY); delete[] verts; } @@ -108,10 +98,8 @@ namespace graphics } else if (mode == FILL) { - glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(2, GL_FLOAT, 0, (const GLvoid*)p); glDrawArrays(GL_POLYGON, 0, count); - glDisableClientState(GL_VERTEX_ARRAY); } } diff --git a/src/libjin/Graphics/Window.cpp b/src/libjin/Graphics/Window.cpp index 8d42bbf..68ebe47 100644 --- a/src/libjin/Graphics/Window.cpp +++ b/src/libjin/Graphics/Window.cpp @@ -73,6 +73,8 @@ namespace graphics glEnable(GL_BLEND); glEnable(GL_TEXTURE_2D); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); /* avoid white screen blink on windows */ swapBuffers(); /* bind to default canvas */ @@ -82,6 +84,12 @@ namespace graphics void Window::quitSystem() { + /* disable opengl */ + glDisable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glDisableClientState(GL_VERTEX_ARRAY); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + /* close window */ SDL_DestroyWindow(wnd); SDL_Quit(); } |