]> git.mxchange.org Git - simgear.git/commitdiff
Comment out GLX code for MacOS and (hopefully) add some MacOS AGL compattible code...
authorehofman <ehofman>
Tue, 1 Feb 2005 10:35:43 +0000 (10:35 +0000)
committerehofman <ehofman>
Tue, 1 Feb 2005 10:35:43 +0000 (10:35 +0000)
simgear/screen/RenderTexture.cpp
simgear/screen/RenderTexture.h

index 666b8445a8a95d195ad7c079cf949524561d1425..d31a61e6babf3f0a3dd55d6f1a10f4311f8bc788 100644 (file)
@@ -122,6 +122,7 @@ RenderTexture::RenderTexture(const char *strMode)
     _hPBuffer(NULL),
     _hPreviousDC(0),
     _hPreviousContext(0),
+#elif defined( __APPLE__ )
 #else
     _pDisplay(NULL),
     _hGLContext(NULL),
@@ -145,6 +146,7 @@ RenderTexture::RenderTexture(const char *strMode)
     
     _pbufferAttribs.push_back(WGL_PBUFFER_LARGEST_ARB);
     _pbufferAttribs.push_back(true);
+#elif defined( __APPLE__ )
 #else
     _pbufferAttribs.push_back(GLX_RENDER_TYPE_SGIX);
     _pbufferAttribs.push_back(GLX_RGBA_BIT_SGIX);
@@ -440,6 +442,7 @@ bool RenderTexture::Initialize(int width, int height,
     fprintf(stderr, "\n");
 #endif
 
+#elif defined( __APPLE__ )
 #else // !_WIN32
     _pDisplay = glXGetCurrentDisplay();
     GLXContext context = glXGetCurrentContext();
@@ -521,6 +524,7 @@ bool RenderTexture::Initialize(int width, int height,
         _wglGetLastError();
         return false;
     }
+#elif defined( __APPLE__ )
 #else
     _hPreviousContext = glXGetCurrentContext();
     _hPreviousDrawable = glXGetCurrentDrawable();
@@ -545,6 +549,7 @@ bool RenderTexture::Initialize(int width, int height,
         _wglGetLastError();
         return false;
     }
+#elif defined( __APPLE__ )
 #else
     if (False == glXMakeCurrent(_pDisplay, 
                                 _hPreviousDrawable, _hPreviousContext))
@@ -596,6 +601,7 @@ bool RenderTexture::_Invalidate()
         _hPBuffer = 0;
         return true;
     }
+#elif defined( __APPLE__ )
 #else
     if ( _hPBuffer )
     {
@@ -666,6 +672,7 @@ bool RenderTexture::Reset(const char *strMode, ...)
     
     _pbufferAttribs.push_back(WGL_PBUFFER_LARGEST_ARB);
     _pbufferAttribs.push_back(true);
+#elif defined( __APPLE__ )
 #else
     _pbufferAttribs.push_back(GLX_RENDER_TYPE_SGIX);
     _pbufferAttribs.push_back(GLX_RGBA_BIT_SGIX);
@@ -735,6 +742,7 @@ bool RenderTexture::Resize(int iWidth, int iHeight)
         _hPBuffer = 0;
         return true;
     }
+#elif defined( __APPLE__ )
 #else
     if ( _hPBuffer )
     {
@@ -777,6 +785,7 @@ bool RenderTexture::BeginCapture()
     _hPreviousContext = wglGetCurrentContext();
     if (NULL == _hPreviousContext)
         _wglGetLastError();
+#elif defined( __APPLE__ )
 #else
     _hPreviousContext = glXGetCurrentContext();
     _hPreviousDrawable = glXGetCurrentDrawable();
@@ -814,6 +823,7 @@ bool RenderTexture::EndCapture()
         _wglGetLastError();
         return false;
     }
+#elif defined( __APPLE__ )
 #else
     if (False == glXMakeCurrent(_pDisplay, _hPreviousDrawable, 
                                 _hPreviousContext))
@@ -883,6 +893,7 @@ bool RenderTexture::BeginCapture(RenderTexture* current)
     _hPreviousContext = current->_hPreviousContext;
     if (NULL == _hPreviousContext)
         _wglGetLastError();
+#elif defined( __APPLE__ )
 #else
     _hPreviousContext = current->_hPreviousContext;
     _hPreviousDrawable = current->_hPreviousDrawable;
@@ -1066,17 +1077,22 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(bitVec[1]);
             pfAttribs.push_back(WGL_BLUE_BITS_ARB);
             pfAttribs.push_back(bitVec[2]);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_RED_SIZE);
+            pfAttribs.push_back(bitVec[0]);
+            pfAttribs.push_back(AGL_GREEN_SIZE);
+            pfAttribs.push_back(bitVec[1]);
+            pfAttribs.push_back(AGL_BLUE_SIZE);
+            pfAttribs.push_back(bitVec[2]);
 #else
-# ifndef sgi
             pfAttribs.push_back(GLX_RED_SIZE);
             pfAttribs.push_back(bitVec[0]);
             pfAttribs.push_back(GLX_GREEN_SIZE);
             pfAttribs.push_back(bitVec[1]);
             pfAttribs.push_back(GLX_BLUE_SIZE);
             pfAttribs.push_back(bitVec[2]);
-# endif
 #endif
-                       _iNumComponents += 3;
+           _iNumComponents += 3;
             continue;
         }
                else if (kv.first == "rgb") 
@@ -1109,8 +1125,16 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(bitVec[2]);
             pfAttribs.push_back(WGL_ALPHA_BITS_ARB);
             pfAttribs.push_back(bitVec[3]);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_RED_SIZE);
+            pfAttribs.push_back(bitVec[0]);
+            pfAttribs.push_back(AGL_GREEN_SIZE);
+            pfAttribs.push_back(bitVec[1]);
+            pfAttribs.push_back(AGL_BLUE_SIZE);
+            pfAttribs.push_back(bitVec[2]);
+            pfAttribs.push_back(AGL_ALPHA_SIZE);
+            pfAttribs.push_back(bitVec[3]);
 #else
-# ifndef sgi
             pfAttribs.push_back(GLX_RED_SIZE);
             pfAttribs.push_back(bitVec[0]);
             pfAttribs.push_back(GLX_GREEN_SIZE);
@@ -1119,9 +1143,8 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(bitVec[2]);
             pfAttribs.push_back(GLX_ALPHA_SIZE);
             pfAttribs.push_back(bitVec[3]);
-# endif
 #endif
-                       _iNumComponents = 4;
+           _iNumComponents = 4;
             continue;
         }
                else if (kv.first == "rgba") 
@@ -1140,6 +1163,9 @@ void RenderTexture::_ParseModeString(const char *modeString,
 #ifdef _WIN32
             pfAttribs.push_back(WGL_RED_BITS_ARB);
             pfAttribs.push_back(bitVec[0]);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_RED_SIZE);
+            pfAttribs.push_back(bitVec[0]);
 #else
             pfAttribs.push_back(GLX_RED_SIZE);
             pfAttribs.push_back(bitVec[0]);
@@ -1170,6 +1196,11 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(bitVec[0]);
             pfAttribs.push_back(WGL_GREEN_BITS_ARB);
             pfAttribs.push_back(bitVec[1]);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_RED_SIZE);
+            pfAttribs.push_back(bitVec[0]);
+            pfAttribs.push_back(AGL_GREEN_SIZE);
+            pfAttribs.push_back(bitVec[1]);
 #else
             pfAttribs.push_back(GLX_RED_SIZE);
             pfAttribs.push_back(bitVec[0]);
@@ -1199,6 +1230,8 @@ void RenderTexture::_ParseModeString(const char *modeString,
             bHasStencil = true;
 #ifdef _WIN32
             pfAttribs.push_back(WGL_STENCIL_BITS_ARB);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_STENCIL_SIZE);
 #else
             pfAttribs.push_back(GLX_STENCIL_SIZE);
 #endif
@@ -1216,6 +1249,11 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(1);
             pfAttribs.push_back(WGL_SAMPLES_ARB);
             pfAttribs.push_back(strtol(kv.second.c_str(), 0, 10));
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_SAMPLE_BUFFERS_ARB);
+            pfAttribs.push_back(1);
+            pfAttribs.push_back(AGL_SAMPLES_ARB);
+            pfAttribs.push_back(strtol(kv.second.c_str(), 0, 10));
 #else
            pfAttribs.push_back(GL_SAMPLE_BUFFERS_ARB);
            pfAttribs.push_back(1);
@@ -1231,6 +1269,9 @@ void RenderTexture::_ParseModeString(const char *modeString,
 #ifdef _WIN32
             pfAttribs.push_back(WGL_DOUBLE_BUFFER_ARB);
             pfAttribs.push_back(true);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_DOUBLEBUFFER);
+            pfAttribs.push_back(True);
 #else
             pfAttribs.push_back(GL_DOUBLEBUFFER);
             pfAttribs.push_back(True);
@@ -1242,6 +1283,8 @@ void RenderTexture::_ParseModeString(const char *modeString,
         {
 #ifdef _WIN32
             pfAttribs.push_back(WGL_AUX_BUFFERS_ARB);
+#elif defined( __APPLE__ )
+            pfAttribs.push_back(AGL_AUX_BUFFERS);
 #else
             pfAttribs.push_back(GL_AUX_BUFFERS);
 #endif
@@ -1349,6 +1392,8 @@ void RenderTexture::_ParseModeString(const char *modeString,
 
 #ifdef _WIN32
     pfAttribs.push_back(WGL_DEPTH_BITS_ARB);
+#elif defined( __APPLE__ )
+    pfAttribs.push_back(AGL_DEPTH_SIZE);
 #else
     pfAttribs.push_back(GLX_DEPTH_SIZE);
 #endif
@@ -1359,6 +1404,9 @@ void RenderTexture::_ParseModeString(const char *modeString,
 #ifdef _WIN32
         pfAttribs.push_back(WGL_STENCIL_BITS_ARB);
         pfAttribs.push_back(0);
+#elif defined( __APPLE__ )
+        pfAttribs.push_back(AGL_STENCIL_SIZE);
+        pfAttribs.push_back(0);
 #else
         pfAttribs.push_back(GLX_STENCIL_SIZE);
         pfAttribs.push_back(0);
@@ -1414,7 +1462,7 @@ void RenderTexture::_ParseModeString(const char *modeString,
 
 #elif defined(DEBUG) || defined(_DEBUG)
         printf("RenderTexture Error: Render to Texture not "
-               "supported in Linux\n");
+               "supported in Linux or MacOS\n");
 #endif  
     }
 
@@ -1435,6 +1483,7 @@ void RenderTexture::_ParseModeString(const char *modeString,
             pfAttribs.push_back(WGL_PIXEL_TYPE_ARB);
             pfAttribs.push_back(WGL_TYPE_RGBA_FLOAT_ATI);
         }
+#elif defined( __APPLE__ )
 #else
         if (GL_NV_float_buffer)
         {
@@ -1548,7 +1597,7 @@ void RenderTexture::_ParseModeString(const char *modeString,
 #elif defined(DEBUG) || defined(_DEBUG)
         fprintf(stderr, 
                 "RenderTexture Error: Render to Texture not supported in "
-                "Linux\n");
+                "Linux or MacOS\ n");
 #endif  
     }
         
@@ -1573,7 +1622,7 @@ void RenderTexture::_ParseModeString(const char *modeString,
         }
 #elif defined(DEBUG) || defined(_DEBUG)
         printf("RenderTexture Error: Render to Texture not supported in "
-               "Linux\n");
+               "Linux or MacOS\n");
 #endif 
     }
 }
@@ -1720,6 +1769,7 @@ bool RenderTexture::_VerifyExtensions()
         }
         SetLastError(0);
     }
+#elif defined( __APPLE__ )
 #else
     if (!GLX_SGIX_pbuffer)
     {
@@ -2042,6 +2092,7 @@ bool RenderTexture::_MakeCurrent()
         _wglGetLastError();
         return false;
     }
+#elif defined( __APPLE__ )
 #else
     if (false == glXMakeCurrent(_pDisplay, _hPBuffer, _hGLContext)) 
     {
@@ -2093,6 +2144,7 @@ RenderTexture::RenderTexture(int width, int height,
     _hPBuffer(NULL),
     _hPreviousDC(0),
     _hPreviousContext(0),
+#elif defined( __APPLE__ )
 #else
     _pDisplay(NULL),
     _hGLContext(NULL),
@@ -2209,6 +2261,7 @@ bool RenderTexture::Initialize(bool         bShare       /* = true */,
     
     _pbufferAttribs.push_back(WGL_PBUFFER_LARGEST_ARB);
     _pbufferAttribs.push_back(true);
+#elif defined( __APPLE__ )
 #else
     _pixelFormatAttribs.push_back(GLX_RENDER_TYPE_SGIX);
     _pixelFormatAttribs.push_back(GLX_RGBA_BIT_SGIX);
index ad90bd314e9bf97525f302303c36f273c5042a77..c8377d1161eea01991a7a9800f59121b1e1080f3 100644 (file)
@@ -337,6 +337,8 @@ protected: // data
     
     HDC          _hPreviousDC;
     HGLRC        _hPreviousContext;
+#elif defined( __APPLE__ )
+    
 #else
     Display     *_pDisplay;
     GLXContext   _hGLContext;