[vtkusers] Re: the disappearing isosurface

David Marshburn marshbur at cs.unc.edu
Tue Jan 31 18:14:50 EST 2006


Hi VTKers,

I heard from two people who had seen a problem similar to the one I 
describe below.  I wanted to ask again to see if anyone has any similar 
experience or thoughts on a solution.

some more details:  I traced the failure (when it fails) to the call to 
glEndList in vtkOpenGLPolyDataMapper::RenderPiece; it generates an 
out-of-memory error.  In the dataset I'm using to test, the isosurface has 
about 1.9 million polys in it (as reported by 
vtkImageMarchingCubes::getOutput()->GetNumberOfCells() ).

What I don't understand is how this isosurface could generate an 
out-of-memory error on a GeForce 6800 w/ 256 MB on card but not on a 
Quadro2 w/ 64 MB on card.

Thanks for any advice or reports of similar behavior!

-David

On Tue, 10 Jan 2006, David Marshburn wrote:

> 
> 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