]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Extensions/Visualization/OpenGLMeshMapper.hxx
The beast is alive on MSWin!!!
[cpPlugins.git] / lib / cpPlugins / Extensions / Visualization / OpenGLMeshMapper.hxx
index f1f04682994a47281340c10c22a287afd3af0009..3ad1bc7a1c2fc21f50e056b41951070571eba44d 100644 (file)
@@ -39,17 +39,6 @@ PFNGLUNMAPBUFFERARBPROC          pglUnmapBuffer = 0;
 
 #endif // _WIN32
 
-#ifdef _WIN32
-
-typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
-typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
-PFNWGLSWAPINTERVALEXTPROC pwglSwapIntervalEXT = 0;
-PFNWGLGETSWAPINTERVALEXTPROC pwglGetSwapIntervalEXT = 0;
-#define wglSwapIntervalEXT      pwglSwapIntervalEXT
-#define wglGetSwapIntervalEXT   pwglGetSwapIntervalEXT
-
-#endif // _WIN32
-
 // some definitions for what the polydata has in it
 #define CPPLUGINS_VTK_PDM_NORMALS            0x0001
 #define CPPLUGINS_VTK_PDM_COLORS             0x0002
@@ -563,28 +552,27 @@ _ConfigureOpenGL( )
   if( input == NULL )
     return( false );
 
-#ifdef _WIN32 
-  // get pointers to GL functions
-  glGenBuffers =
-    ( PFNGLGENBUFFERSARBPROC )wglGetProcAddress( "glGenBuffers" );
-  glBindBuffer =
-    ( PFNGLBINDBUFFERARBPROC )wglGetProcAddress( "glBindBuffer" );
-  glBufferData =
-    ( PFNGLBUFFERDATAARBPROC )wglGetProcAddress( "glBufferData" );
-  glBufferSubData =
-    ( PFNGLBUFFERSUBDATAARBPROC )wglGetProcAddress( "glBufferSubData" );
-  glDeleteBuffers =
-    ( PFNGLDELETEBUFFERSARBPROC )wglGetProcAddress( "glDeleteBuffers" );
+#ifdef _WIN32
+  // Get pointers to GL functions
+  glGenBuffers = reinterpret_cast< PFNGLGENBUFFERSARBPROC >
+    ( wglGetProcAddress( "glGenBuffers" ) );
+  glBindBuffer = reinterpret_cast< PFNGLBINDBUFFERARBPROC >
+    ( wglGetProcAddress( "glBindBuffer" ) );
+  glBufferData = reinterpret_cast< PFNGLBUFFERDATAARBPROC >
+    ( wglGetProcAddress( "glBufferData" ) );
+  glBufferSubData = reinterpret_cast< PFNGLBUFFERSUBDATAARBPROC >
+    ( wglGetProcAddress( "glBufferSubData" ) );
+  glDeleteBuffers = reinterpret_cast< PFNGLDELETEBUFFERSARBPROC >
+    ( wglGetProcAddress( "glDeleteBuffers" ) );
   glGetBufferParameteriv =
-    ( PFNGLGETBUFFERPARAMETERIVARBPROC )wglGetProcAddress(
-      "glGetBufferParameteriv"
-      );
-  glMapBuffer =
-    ( PFNGLMAPBUFFERARBPROC )wglGetProcAddress( "glMapBuffer" );
-  glUnmapBuffer =
-    ( PFNGLUNMAPBUFFERARBPROC )wglGetProcAddress( "glUnmapBuffer" );
-
-  // check once again VBO extension
+    reinterpret_cast< PFNGLGETBUFFERPARAMETERIVARBPROC >
+    ( wglGetProcAddress( "glGetBufferParameteriv" ) );
+  glMapBuffer = reinterpret_cast< PFNGLMAPBUFFERARBPROC >
+    ( wglGetProcAddress( "glMapBuffer" ) );
+  glUnmapBuffer = reinterpret_cast< PFNGLUNMAPBUFFERARBPROC >
+    ( wglGetProcAddress( "glUnmapBuffer" ) );
+
+  // Check once again VBO extension
   if(
     glGenBuffers != NULL &&
     glBindBuffer != NULL &&
@@ -598,18 +586,6 @@ _ConfigureOpenGL( )
     this->VBOSupported = true;
   else
     this->VBOSupported = false;
-
-  // check EXT_swap_control is supported
-  /* TODO: really needed?
-     wglSwapIntervalEXT =
-     ( PFNWGLSWAPINTERVALEXTPROC )wglGetProcAddress( "wglSwapIntervalEXT" );
-     wglGetSwapIntervalEXT =
-     ( PFNWGLGETSWAPINTERVALEXTPROC )wglGetProcAddress(
-     "wglGetSwapIntervalEXT"
-     );
-     if( wglSwapIntervalEXT != NULL && wglGetSwapIntervalEXT != NULL )
-     wglSwapIntervalEXT( 0 );
-  */
 #else // _WIN32
   // Check if VBO ( Vertex Buffer Object ) is supported
   std::string str = ( const char* )( glGetString( GL_EXTENSIONS ) );