[vtk-developers] VTK + GTK + Mac OSX rendering bugs [SOLVED]
Valerie Coffman
valerie.coffman at nist.gov
Thu Mar 11 15:25:40 EST 2010
Dear VTK Developers,
Some time ago, I wrote about rendering bugs that occur when using the
GtkGLExtVTKRenderWindow.py example in the VTK source tree.
http://www.vtk.org/pipermail/vtk-developers/2009-July/006124.html
Before that, I wrote about how gtkglext is unnecessary
http://www.vtk.org/pipermail/vtkusers/2008-April/094892.html. I noticed
that the changes I suggested were incorporated into the source code in
the script noglext.py. (It's customary to give people credit when you
distribute code based on their suggestions.)
I have finally gotten to the heart of the matter. Essentially,
GtkGLExtVTKRenderWindow and the similar functions work by accident and
should probably be removed from the source tree since they are not
robust. More specifically, gtkglext creates gl objects and ties them to
gtk objects by passing in the colormap and visual info. But VTK creates
new gl objects afterwards that do not get properly tied to the gtk
objects -- they aren't passed the right colormap. That the colormap is
correct on some systems is a coincidence. Removing gtkglext has no
effect on some platforms because what it does is effectively overridden
by the VTK code. Furthermore, as far as I can tell, it's not possible to
create something like GtkGLExtVTKRenderWindow.py because not all the
necessary functions have python wrappers.
Our solution has been to write our own class in C++ that has a
vtkXOpenGLRenderWindow and a GtkWidget as members. Then we tie them
together using the VTK and Gtk API's directly, without gtkglext. The
question is, whether something should be incorporated into the VTK
source and how. Is there an interest in this?
Thanks,
Valerie
More information about the vtk-developers
mailing list