[vtkusers] Filled circle glyphs instead of spheres

Craig N. Scott craig.scott at csiro.au
Sun Jan 19 22:00:28 EST 2003


Thanks for the info. Some promising leads, but still some issues. Please
see comments interspersed below.


On Mon, 2003-01-20 at 12:40, David.Pont at ForestResearch.co.nz wrote:

> Did you see the Resolution settings for vtkSphereSource?

Yes. Even when rendering with low values (they look almost like cubes)
the render time drastically increases over simple dots (as you'd
expect!).

> Read up on vtkLODActor and vtkRenderWindowInteractor->SetDesiredUpdateRate
> ( DisplayFramesPerSecond );

Using LOD (level of detail) actors allows a faster method to be used
when the user is interacting with the scene (rotating, etc.), but when
they stop, you still have the long render time if you want spheres. If
that operation takes too long, spheres will never be selected by the
vtkLODActor. This works around the long render time, but doesn't provide
an adequately rendered scene. The solution I've been using for a while
now has been to select the LOD manually as desired via a group of radio
buttons in the GUI. Works well, I just need to be able to provide the
option of rendering as spheres/disks.

> Try vtkDiscSource, and play with the Resolution settings. You can set 0 for
> the inner radius to get a full circle.  Look at vtkFollower to have discs
> always face the camera.

I hadn't thought of vtkFollower. The snag here seems to be that
vtkFollower is an actor, not a filter. I need some way of applying what
vtkFollower does to each disk. Making use of vtkGlyph3D seems to be the
way to go, but since vtkFollower is an actor, I haven't found out how
yet.

> Try passing the point data directly to a mapper, points should render quite
> fast. See vtkActor->GetProperty()->SetPointSize( SomethingMoreThanOne ) for
> 'phat' points (may cost speed ?).

This has been my "live with it for now" solution to date. It renders
quite fast. Using SetPointSize gives squares and not circles, but more
importantly, these do not resize when the user zooms in or out.


> You can use vtkMaskPoints to subsample the data. This could work well as a
> low-res LOD for vtkLODProp3D.

Unfortunately, my application demands that I render all the points. 


--
Dr Craig Scott, CSIRO (CMIS)
Melbourne, Australia





More information about the vtkusers mailing list