VTK 5.2 Release Planning: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 32: Line 32:
* If <tt>RenderTranslucentGeometry()</tt> was used to render translucent polygonal geometry and translucent volumetric geometry, override all 3 methods.
* If <tt>RenderTranslucentGeometry()</tt> was used to render translucent polygonal geometry and translucent volumetric geometry, override all 3 methods.


The reason of this change is that <tt>HasTranslucentPolygonalGeometry()</tt> is used to decide if an expensive initialization of the new rendering algorithm of translucent polygonal geometry (depth peeling) is necessary. <tt>RenderTranslucentPolygonalGeometry()</tt> is called multiple times during the rendering of the translucent polygonal geometry of the scene. <tt>RenderVolumetricGeometry()</tt> is called in an additional pass, after depth peeling.
The reason of this change is that <tt>HasTranslucentPolygonalGeometry()</tt> is used to decide if an expensive initialization of the new rendering algorithm of translucent polygonal geometry (depth peeling) is necessary. <tt>RenderTranslucentPolygonalGeometry()</tt> is called multiple times during the rendering of the translucent polygonal geometry of the scene. <tt>RenderVolumetricGeometry()</tt> is called in an additional pass, after depth peeling. For this reason, <b><tt>RenderTranslucentGeometry()</tt> cannot just be marked as deprecated but had to be removed from the API</b>.

Revision as of 21:54, 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() 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.