X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvBlendImageActor.cxx;h=77ae059723db66360a7cfcdd65d22b096aa68d3d;hb=632adadb8b9230458aeab8ddccc736d674edc87a;hp=f28ba324b82bfa6e995b5a4a2dffb135bdd95dcb;hpb=26c6b8e9d0333a9e0be98c3fb9d57f133477d97d;p=clitk.git diff --git a/vv/vvBlendImageActor.cxx b/vv/vvBlendImageActor.cxx old mode 100755 new mode 100644 index f28ba32..77ae059 --- a/vv/vvBlendImageActor.cxx +++ b/vv/vvBlendImageActor.cxx @@ -1,28 +1,31 @@ - /*========================================================================= - Program: vv http://www.creatis.insa-lyon.fr/rio/vv +/*========================================================================= +Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: - - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr - - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr +Authors belong to: +- University of LYON http://www.universite-lyon.fr/ +- Léon Bérard cancer center http://www.centreleonberard.fr +- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the copyright notices for more information. +This software is distributed WITHOUT ANY WARRANTY; without even +the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the copyright notices for more information. - It is distributed under dual licence +It is distributed under dual licence - - BSD See included LICENSE.txt file - - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ +- BSD See included LICENSE.txt file +- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================**/ #include "vvBlendImageActor.h" - +#ifdef VTK_OPENGL2 + #include +#else + #include + #include +#endif #include -#include #include #include -#include #include vtkStandardNewMacro(vvBlendImageActor); @@ -40,21 +43,27 @@ void vvBlendImageActor::Render(vtkRenderer *ren) { //Change blending to maximum per component instead of weighted sum vtkOpenGLRenderWindow *renwin = dynamic_cast(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")) - { + if (extensions->ExtensionSupported("GL_EXT_blend_minmax")) { extensions->LoadExtension("GL_EXT_blend_minmax"); vtkgl::BlendEquationEXT( vtkgl::MAX ); - } + } //Call normal render - vtkOpenGLImageActor::Render(ren); + VTK_IMAGE_ACTOR::Render(ren); //Move back blending to weighted sum - if (vtkgl::BlendEquationEXT!=0) - { + if (vtkgl::BlendEquationEXT!=0) { vtkgl::BlendEquationEXT( vtkgl::FUNC_ADD ); - } + } +#endif } void vvBlendImageActor::PrintSelf(ostream& os, vtkIndent indent)