[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