[vtkusers] the disappearing isosurface

David Marshburn marshbur at cs.unc.edu
Tue Jan 10 17:13:42 EST 2006


VTKers,

We have an application built around vtk which extracts isosurfaces from 
volume image data.  Sometimes, we lose isosurfaces.  That is, at some 
isovalues, there is no isosurface rendered, while other Actors in the 
scene are still visible (come cube axes and other icons).  Changing the 
isovalue so that more surface is generated causes the isosurface to not 
appear; the isosurface will appear for an isovalue for which less surface 
is generated, and we can go back and forth between isovalues for which a 
surface does and does not appear.  Given the values in the 
several test datasets, there should be an isosurface rendered; 
furthermore, the isosurface does appear on some platforms (but read on).

This behavior seems to coincide with our change from vtk 4.2 to 4.4.  
Also, it seems limited to nvidia GeForce hardware.  I've tested our 
application with a couple of data sets on 6 different geforce cards (from 
a GeForce4Go up to a GeForce 6800 GS), 3 Quadro cards (Quadro2 and 4 
models) and 2 ATI cards (Mobility 9700 and 9800).  The isosurfaces 
disappear only on the GeForce cards, and consistently on all the GeForce 
cards.  I did check for recent driver versions; however, something as 
basic as "render a lot of polygons" seems to be one of the first things 
I'd expect nvidia to get right.  That is, a bug in something as basic as 
polygon rendering seems unlikely and not the first place to look.  
Alternatively, before going to nvidia, I'd like to ascertain that the 
problem cannot be in the way we use the nvidia hardware and drivers.

Finally, if I force immediate-mode rendering to be ON, the problem goes 
away (although things run more slowly, overall).  This would seem to 
indicate that the problem is related to display lists.  

Our pipeline goes as so:
  vtkImageData -> vtkExtractVOI -> vtkImageExtractComponents 
	-> vtkImageMarchingCubes -> vtkTriangleFilter -> vtkStripper
	-> vtkPolyDataNormals -> vtkPolyDataMapper -> vtkActor

I would appreciate any of the following:
- suggestions for more tests to perform to further characterize this 
   problem...
- verification that others have seen this happen
- suggestions for what may be unique to nvidia geforce hardware or drivers
   that causes this behavior

thanks!
-david



More information about the vtkusers mailing list