X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2Fgraphics%2Fgraphics.cpp;h=d5148c11cc5b8ed5ca470c104013971bc45677f8;hb=9ae1c0798cff2d1ed816bccb0723bd5a4ca97194;hp=ab7f08fbe6f520a37d4f77aa29dd791b6703bf49;hpb=89ca62b2694538f2ca5845b40aed7c2dec5143fe;p=physics.git diff --git a/src/graphics/graphics.cpp b/src/graphics/graphics.cpp index ab7f08f..d5148c1 100644 --- a/src/graphics/graphics.cpp +++ b/src/graphics/graphics.cpp @@ -1,48 +1,68 @@ +/* + * Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "graphics.h" +#include "../debug.h" #include #include #include #include -#include "../debug.h" +#include "../mathw.h" -static const float PI = 3.1415926535897; /// ***** Private Method Headers ***** -void drawCircle(int); + +void glDrawCircle(int); void sdlInit(); void glInit(); -/// ***** Public Methods ***** +/// ***** Initializers/Cleaners ***** -void graphicsInit() +void graphics::init() { sdlInit(); glInit(); } -void graphicsCleanUp() +void graphics::clean() { } -void glDrawCircle(float radius, const Vector2& vec, const float* color) +/// ***** Public Methods ***** + +void graphics::drawCircle(float radius, const Vector2& pos, const float* color) { glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - glTranslatef(vec.x, vec.y, -1); + glTranslatef(pos.x, pos.y, -1); glScalef(radius, radius, radius); if(color != NULL) glColor3fv(color); - drawCircle(32); + glDrawCircle(32); } /// ***** Private Methods ***** -void drawCircle(int pieces) +void glDrawCircle(int pieces) { glBegin(GL_POLYGON); for(int n = 0; n < pieces; n++) @@ -89,4 +109,14 @@ void glInit() glLoadIdentity(); glEnable(GL_DEPTH_TEST); + + // anti aliasing? + /* + glEnable(GL_BLEND); + glEnable(GL_POLYGON_SMOOTH_HINT); + + glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE); + + glHint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE); + */ }