diff --git a/src/PowderToySDL.cpp b/src/PowderToySDL.cpp index 900fa51c4..e58f2ceb3 100644 --- a/src/PowderToySDL.cpp +++ b/src/PowderToySDL.cpp @@ -1043,7 +1043,7 @@ int main(int argc, char * argv[]) SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1); //glScaled(2.0f, 2.0f, 1.0f); #endif -#if defined(OGLI) +#if defined(OGLI) && !defined(MACOSX) int status = glewInit(); if(status != GLEW_OK) { diff --git a/src/graphics/Graphics.h b/src/graphics/Graphics.h index 646c0741c..ddb22bc2e 100644 --- a/src/graphics/Graphics.h +++ b/src/graphics/Graphics.h @@ -188,6 +188,9 @@ public: //OpenGL specific instance variables GLuint vidBuf, textTexture; void Reset(); + void LoadDefaults(); + void InitialiseTextures(); + void DestroyTextures(); #endif //Common graphics methods in Graphics.cpp diff --git a/src/graphics/OpenGLGraphics.cpp b/src/graphics/OpenGLGraphics.cpp index 9dce29258..4df2508c0 100644 --- a/src/graphics/OpenGLGraphics.cpp +++ b/src/graphics/OpenGLGraphics.cpp @@ -10,12 +10,36 @@ Graphics::Graphics(): { // if(gMutex == TMPMUT) // pthread_mutex_init (&gMutex, NULL); - Reset(); + LoadDefaults(); + InitialiseTextures(); - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + //Texture for main UI + +} + +void Graphics::LoadDefaults() +{ + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + //glOrtho(0, WINDOWW*sdl_scale, 0, WINDOWH*sdl_scale, -1, 1); + glOrtho(0, WINDOWW*sdl_scale, WINDOWH*sdl_scale, 0, -1, 1); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + //glRasterPos2i(0, WINDOWH); + glRasterPos2i(0, 0); + glPixelZoom(1, 1); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +} + +void Graphics::InitialiseTextures() +{ glEnable(GL_TEXTURE_2D); glGenTextures(1, &vidBuf); @@ -39,6 +63,11 @@ Graphics::Graphics(): glDisable(GL_TEXTURE_2D); } +void Graphics::DestroyTextures() +{ + //Todo... +} + void Graphics::Acquire() { pthread_mutex_lock(&gMutex); @@ -55,18 +84,9 @@ Graphics::~Graphics() void Graphics::Reset() { - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - - //glOrtho(0, WINDOWW*sdl_scale, 0, WINDOWH*sdl_scale, -1, 1); - glOrtho(0, WINDOWW*sdl_scale, WINDOWH*sdl_scale, 0, -1, 1); - - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - //glRasterPos2i(0, WINDOWH); - glRasterPos2i(0, 0); - glPixelZoom(1, 1); + LoadDefaults(); + DestroyTextures(); + InitialiseTextures(); } void Graphics::Clear() diff --git a/src/graphics/OpenGLHeaders.h b/src/graphics/OpenGLHeaders.h index de692e0ef..258971bff 100644 --- a/src/graphics/OpenGLHeaders.h +++ b/src/graphics/OpenGLHeaders.h @@ -1,6 +1,8 @@ #ifdef MACOSX -#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 +#if __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_OS_X_VERSION_10_9 +#include +#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 #include #include #else