[vtkusers] VTK error dialog due to OpenGL problem

Richard Whitehead richard.whitehead at vivosight.com
Wed Apr 2 06:55:38 EDT 2014


Since moving to VTK 6.1 I'm having a problem where VTK pops up an error box
saying
  ERROR: In
E:\VTK\VTK-6.1.0\Rendering\OpenGL\vtkOpenGLExtensionManager.cxx, line 757
  vtkOpenGLExtensionManager (0000000003A83120): Extension GL_VERSION_1_2
could not be loaded.

I think this problem was happening in 6.0 but only as a warning, and since
my app worked I didn't worry about it: now I can't ignore it.

VTK 6.1 source and a simple test app were both built on the same machine,
using CMake and then Visual Studio 2012 in both cases.  I'm trying to run
the app on the same machine it was built on.  It is a new Dell running
Windows 7 64 bit, the graphics is an integrated Intel HD Graphics 4600.

I have updated my graphics drivers to the latest Intel drivers to no effect
and I think I must conclude that this deprecated interface is no longer
supported.

I have checked the relevant code in VTK GIT but there have been no recent
fixes.

I've investigated why VTK is trying to load these deprecated functions,
which I explain below, but I don't know what to do about it.
Options would seem to include:
  Changing vtkOpenGLVolumeTextureMapper3D::Initialize to load a newer
version
  Removing the explicit load of the deprecated version in
vtkOpenGLExtensionManager::SafeLoadExtension
  Not failing if the main version loads but the deprecated version fails to
load
  Changing the build system to not include the deprecated version
  Loading just the latest version at runtime
But I don't know anything about OpenGL or the details of how it is used in
VTK so I can't decide.

Please can someone advise what should be changed.


vtkOpenGLVolumeTextureMapper3D::Initialize explicitly loads GL_VERSION_1_2,
and when you load that,
vtkOpenGLExtensionManager::SafeLoadExtension explicitly also loads the
DEPRECATED version, and this fails because none of the entry points are
found.

The reason it thinks 1.2 is supported is that during the
build, ParseOGLExt.cxx writes a file called vtkgl.cxx that includes a
string vtkgl::GLVersionExtensionsString which in my case
includes "GL_VERSION_1_2 GL_VERSION_1_2_DEPRECATED ....."
It did this because of the contents of a text string it was given to
parse... and here I gave up.


Many thanks,

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140402/1669e35e/attachment.html>


More information about the vtkusers mailing list