]> Creatis software - clitk.git/commitdiff
Update to OpenGL2
authortbaudier <thomas.baudier@creatis.insa-lyon.fr>
Fri, 6 Oct 2017 08:40:16 +0000 (10:40 +0200)
committertbaudier <thomas.baudier@creatis.insa-lyon.fr>
Fri, 6 Oct 2017 08:40:16 +0000 (10:40 +0200)
vv/CMakeLists.txt
vv/vvBlendImageActor.cxx

index a20b0b08c61cf4d8e29be32102ea19f83e8df1a1..fe6120ec7e47c80058f5de72391c75d19ed10e12 100644 (file)
@@ -9,6 +9,12 @@ endif(COMMAND cmake_policy)
 #=========================================================
 OPTION(CLITK_USE_PACS_CONNECTION "USE PACS CONNECTION"       OFF)
 #=========================================================
+
+# Look for OpenGL2 version
+if (VTK_RENDERING_BACKEND STREQUAL "OpenGL2")
+  add_definitions(-DVTK_OPENGL2)
+endif ()
+
 #List of vv tools to compile
 set(vv_TOOLS
   vvToolMedianFilter
index 2093c7d7e0721c21330520c976261269f7b0651b..24434d14bb0b9623f84ee32f5eb4030eb3f5387b 100644 (file)
@@ -17,12 +17,14 @@ It is distributed under dual licence
 ===========================================================================**/
 
 #include "vvBlendImageActor.h"
-
+#ifdef VTK_OPENGL2
+  #include <vtk_glew.h>
+#else
+  #include <vtkgl.h>
+#endif
 #include <vtkOpenGLRenderWindow.h>
-#include <vtkOpenGLExtensionManager.h>
 #include <vtkOpenGLRenderer.h>
 #include <vtkOpenGL.h>
-#include <vtkgl.h>
 #include <vtkObjectFactory.h>
 
 vtkStandardNewMacro(vvBlendImageActor);
@@ -40,6 +42,13 @@ void vvBlendImageActor::Render(vtkRenderer *ren)
 {
   //Change blending to maximum per component instead of weighted sum
   vtkOpenGLRenderWindow *renwin = dynamic_cast<vtkOpenGLRenderWindow*>(ren->GetRenderWindow());
+#ifdef VTK_OPENGL2
+  const char *extensions = renwin->ReportCapabilities();
+
+  //Call normal render
+  VTK_IMAGE_ACTOR::Render(ren);
+
+#else
   vtkOpenGLExtensionManager *extensions = renwin->GetExtensionManager();
   if (extensions->ExtensionSupported("GL_EXT_blend_minmax")) {
     extensions->LoadExtension("GL_EXT_blend_minmax");
@@ -53,6 +62,7 @@ void vvBlendImageActor::Render(vtkRenderer *ren)
   if (vtkgl::BlendEquationEXT!=0) {
     vtkgl::BlendEquationEXT( vtkgl::FUNC_ADD );
   }
+#endif
 }
 
 void vvBlendImageActor::PrintSelf(ostream& os, vtkIndent indent)