[vtkusers] Mesa/VTK problem on RedHat 7.2 (also with Mesa 4.0)
Prabhu Ramachandran
prabhu at aero.iitm.ernet.in
Sat Nov 17 23:12:24 EST 2001
>>>>> "DR" == Dave Reed <dreed at capital.edu> writes:
DR> When I moved from RedHat 7.1 to RedHat 7.2, I started getting
DR> missing polygons in simple VTK examples (using vtk3.2). It was
DR> suggested that I try Mesa 4.0 so I did, but the same thing
DR> still happens. I also tried VTK 4.0, but the same thing still
DR> happens. I completely removed the libGL and libGLU files that
DR> came with RedHat 7.2, installed Mesa-4.0, compiled VTK 4.0 and
DR> it still happens.
DR> http://capital2.capital.edu/faculty/dreed/medical1.jpg
DR> shows an example - there are polygons missing just under the
DR> nose.
DR> The same program works fine (no missing polygons) with
DR> NVidia's drivers with a TNT2 card. So either it's a bug in
DR> Mesa or some strange interaction between VTK and Mesa. I
DR> suspect it's a bug in Mesa, but I'm not certain.
Yes, I have the same problem with VTK and Mesa on debian machines. It
all works right with nVidia's OpenGL. I reported it here:
http://public.kitware.com/pipermail/vtkusers/2001-September/007664.html
Ann Gentile replied saying that the problem was with display lists.
Read the full thread for details.
I've tested it with the following:
Mesa 3.1: Horrible behaviour -- basically entire actors would
simply disappear when I did something (rotated the view or
changed property of something), this made using VTK very painful.
Mesa 3.4.2: Much better behaviour but still there would be sudden
disappearance of actors.
I have checked this with both VTK 3.2 and VTK 4.0 with the same
problems.
As regards testing if it really is display lists - if you are using
VTK 4.0, Ann's patch wont work. You can try this instead: In
Rendering/vtkOpenGLPolyDataMapper.cxx (CVS tree as of 15th Nov.)
change
249 //
250 // if something has changed regenerate colors and display lists
251 // if required
252 //
253 if ( this->GetMTime() > this->BuildTime ||
254 input->GetMTime() > this->BuildTime ||
255 act->GetProperty()->GetMTime() > this->BuildTime ||
256 ren->GetRenderWindow() != this->LastWindow)
257 {
258 // sets this->Colors as side effect
259 this->MapScalars(act->GetProperty()->GetOpacity());
260
To read:
249 //
250 // if something has changed regenerate colors and display lists
251 // if required
252 //
253 if (1)
254 {
255 // sets this->Colors as side effect
256 this->MapScalars(act->GetProperty()->GetOpacity());
257
Note that I have not tried this myself but if Ann's patch is correct I
guess this should be correct too. According to Hank Childs
<childs at hyper.llnl.gov> this problem occurs because of a problem in
display lists. Maybe you could confirm this behaviour by trying this
change and checking if you still have missing polygons. This might
help the mesa folks.
Hope this helps,
prabhu
More information about the vtkusers
mailing list