diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-05-30 11:32:58 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-05-30 11:32:58 (GMT) |
| commit | 86746f38b0c0f382f06eb11c59b3dc49641490aa (patch) | |
| tree | e6b6b239f9097c06faa235e2773903f811458519 /src/OpenGLGraphics.cpp | |
| parent | 7074036b898083cdab1316cedbbade009ce6422d (diff) | |
| download | powder-86746f38b0c0f382f06eb11c59b3dc49641490aa.zip powder-86746f38b0c0f382f06eb11c59b3dc49641490aa.tar.gz | |
Separate SDL from graphics code
Also remove OS X specific project files and update Makefile to ensure
the Element class generator only runs when necessary
Diffstat (limited to 'src/OpenGLGraphics.cpp')
| -rw-r--r-- | src/OpenGLGraphics.cpp | 69 |
1 files changed, 22 insertions, 47 deletions
diff --git a/src/OpenGLGraphics.cpp b/src/OpenGLGraphics.cpp index 61c422c..b7d4795 100644 --- a/src/OpenGLGraphics.cpp +++ b/src/OpenGLGraphics.cpp @@ -6,85 +6,60 @@ Graphics::Graphics(): sdl_scale(1) { - -} - -Graphics::~Graphics() -{ -} - -void Graphics::Clear() -{ - glClearColor(0.0f, 0.0f, 0.0f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT); -} - -void Graphics::AttachSDLSurface(SDL_Surface * surface) -{ - //sdl_scrn = surface; - SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1); glMatrixMode(GL_PROJECTION); glLoadIdentity(); - + //glOrtho(0, (XRES+BARSIZE)*sdl_scale, 0, (YRES+MENUSIZE)*sdl_scale, -1, 1); glOrtho(0, (XRES+BARSIZE)*sdl_scale, (YRES+MENUSIZE)*sdl_scale, 0, -1, 1); - + glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - - + + //glRasterPos2i(0, (YRES+MENUSIZE)); glRasterPos2i(0, 0); glPixelZoom(1, 1); - + glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - + //Texture for main UI glEnable(GL_TEXTURE_2D); - + glGenTextures(1, &vidBuf); glBindTexture(GL_TEXTURE_2D, vidBuf); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, XRES+BARSIZE, YRES+MENUSIZE, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL); - + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); - + glBindTexture(GL_TEXTURE_2D, 0); - + glGenTextures(1, &textTexture); glBindTexture(GL_TEXTURE_2D, textTexture); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - + glBindTexture(GL_TEXTURE_2D, 0); - + glDisable(GL_TEXTURE_2D); } -void Graphics::Blit() +Graphics::~Graphics() { - //glDrawPixels(w,h,GL_BGRA,GL_UNSIGNED_BYTE,src); //Why does this still think it's ABGR? - /*glEnable( GL_TEXTURE_2D ); - glBindTexture(GL_TEXTURE_2D, vidBuf); - glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, XRES+BARSIZE, YRES+MENUSIZE, GL_BGRA, GL_UNSIGNED_BYTE, vid); - glBegin(GL_QUADS); - glTexCoord2d(1, 0); - glVertex3f((XRES+BARSIZE)*sdl_scale, (YRES+MENUSIZE)*sdl_scale, 1.0); - glTexCoord2d(0, 0); - glVertex3f(0, (YRES+MENUSIZE)*sdl_scale, 1.0); - glTexCoord2d(0, 1); - glVertex3f(0, 0, 1.0); - glTexCoord2d(1, 1); - glVertex3f((XRES+BARSIZE)*sdl_scale, 0, 1.0); - glEnd(); +} + +void Graphics::Clear() +{ + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT); +} - glDisable( GL_TEXTURE_2D );*/ +void Graphics::Finalise() +{ glFlush(); - SDL_GL_SwapBuffers (); } int Graphics::drawtext(int x, int y, const char *s, int r, int g, int b, int a) |
