[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