VTK 5.2 Release Planning: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Line 22: | Line 22: | ||
=== API Changes === | === API Changes === | ||
<tt>vtkProp::RenderTranslucentGeometry()</tt> has been broken down into 3 methods: | ==== <tt>vtkProp::RenderTranslucentGeometry()</tt> is gone ==== | ||
<tt>vtkProp::RenderTranslucentGeometry()</tt> is gone and has been broken down into 3 methods: | |||
* <tt>HasTranslucentPolygonalGeometry()</tt> | * <tt>HasTranslucentPolygonalGeometry()</tt> | ||
* <tt>RenderTranslucentPolygonalGeometry()</tt> | * <tt>RenderTranslucentPolygonalGeometry()</tt> |
Revision as of 21:55, 28 January 2008
Planned Schedule
- Announcement email: January 28, 2008
- Create VTK-5-2 branch: end of February, 2008
- Fix bugs in priority order: through the end of March, 2008
- Stabilize the dashboards and release the first release candidate for VTK 5.2: early April, 2008
What's New in VTK 5.2?
New features in VTK since the 5.0 release include:
- Infovis kit
- Views kit
- New Widgets architecture and more than a dozen new widgets
- New Utilities: freerange, verdict, libxml2, metaio, sqlite
- Updated Utilities: freetype, zlib
- More than 300 new C++ classes.
- More than 100 new C++ tests running on most dashboards
- Many bug fixes, including much improved Java wrapping support and Mac OSX support
API Changes
vtkProp::RenderTranslucentGeometry() is gone
vtkProp::RenderTranslucentGeometry() is gone and has been broken down into 3 methods:
- HasTranslucentPolygonalGeometry()
- RenderTranslucentPolygonalGeometry()
- RenderVolumetricGeometry()
Here is what to change in a vtkProp subclass:
- If RenderTranslucentGeometry() was used to render translucent polygonal geometry only, override HasTranslucentPolygonalGeometry() and RenderTranslucentPolygonalGeometry(). Just renaming RenderTranslucentGeometry() to RenderTranslucentPolygonalGeometry() is not enough!
- If RenderTranslucentGeometry() was used to render translucent volumetric geometry only, override RenderVolumetricGeometry().
- If RenderTranslucentGeometry() was used to render translucent polygonal geometry and translucent volumetric geometry, override all 3 methods.
The reason of this change is that HasTranslucentPolygonalGeometry() is used to decide if an expensive initialization of the new rendering algorithm of translucent polygonal geometry (depth peeling) is necessary. RenderTranslucentPolygonalGeometry() is called multiple times during the rendering of the translucent polygonal geometry of the scene. RenderVolumetricGeometry() is called in an additional pass, after depth peeling. For this reason, RenderTranslucentGeometry() cannot just be marked as deprecated but had to be removed from the API.