Hi Paul,

On Wed, Jan 21, 2009 at 3:05 PM, Paul Melis <p...@science.uva.nl> wrote:
>>   Dicom loader (DCMTK or ITK based)
>>
>
> I think I saw you mention at one point that GDCM might also be included as a
> loader? The reason I ask is that ITK is a fairly large dependency, while
> DCMTK doesn't seem to be developed anymore (the latest release I know of is
> from 2005), while GDCM is actively developed. Or does ITK use GDCM under the
> hood?

Other members of the community suggested GDCM as an option, and I
briefly looked at it, but having already written the ITK path, and
most of the DCMTK path I stuck with the later routes rather than take
on another implemented.

Others are welcome to dive in an implement a GDCM plugin.

> What's the requirements for all these features in terms of GPU being used? I
> tried a previous version from SVN some time ago and got an error during
> shader compilation that my card (FX5200) doesn't support while loops.

Good question, GLSL support is essential for any sensible volume
rendering, the FixedFunctionTechnique fallback is very basic, and I
have no plans on trying to emulate the advanced techniques possible
with a pure GLSL path.  Within GLSL there are obviously different
capabilities w.r.t drivers and hardware, and I must admit I haven't
spent time considering how to manage these differences.  You might be
able to rewrite the shaders to make them more backwards compatible and
still retain the existing functionality, or it might be necessary to
implement another VolumeTechnique that supports the cards that have
GLSL, but not the full capabilities of more modern cards.  I'm open to
suggestions.

For a point of reference I've been developing against Geforce 6 series upwards.

> This is fantastic work! I've been doing volume rendering mostly with VTK,
> but VTK is really hard to integrate with other rendering packages (e.g. OSG)
> as its use of OpenGL is spaghetti-strewn throughout its classes and there's
> no clean encapsulation of OpenGL state. If the OSG volume rendering manages
> to approach the VTK level (which shouldn't be that hard) we would have a
> nice alternative.

Integration with existing scene graph is pretty straight forward -
just add a VolumeTile to the scene graph with the appropriate
Locator/Layer/Properties/Technique attached an it'll automatically
rendering the volume.  No custom OpenGL paths are used, the
VolumeTechniques that have been implemented so far both use standard
scene graph elements to set up state and rendering primitives, this
ensures that it'll play nice with the rest of the OSG.  I don't expect
future volume rendering techniques to require any custom OpenGL paths
either as we already have vertex, geometry and fragment shaders built
into the core OSG.

It shouldn't be too difficult to integrate ITK with osgVolume, as ITK
allows you to adapt external representations of imagery both in and
out of ITK.  There is an example of this in the dicom plugin's ITK
code path.  One possibility would be to provide some glue classes in
the include/osgVolume header directory to facilitate integration, this
would have to be done entirely in the header though as I don't want to
add any external dependencies to osgVolume - it's a pure OSG based
solution so is easy to port and maintain.

Robert.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to