libvd - visualization library

What

libvd is a very simple OpenGL visualization library. It has a 3D volume renderer. As each functionnality is well isolated and commented, this library is perfect for quick visualization, or for learning.

libvd-demo.png

A clip plane is used to visualize the cardiac chambers (the left atrium is picked with the red marker) from a 128x128x128 volume.<br>Visualization is controled with a transfer function on the lower left corner

Why

While much larger scale visualization libraries exist out there (e.g. vtk), the learning curve might be steep. If you like simple code that works in almost any situation, or if if you like to h ack your own code, this library will be great for you.

How

Here are some lines required to visualize a volume:

        // Create and read a volume
        unsigned short* volume = NULL;
        IO::Raw::read(volume, "volume.img", 512,512,370);

        // Create a volume renderer
        Display::Volume renderer;
        renderer.update(volume);

        // Display the volume in OpenGL
        renderer.display();

Pretty simple, eh?

When

When I started my PhD in 2005, I needed a 3D visualization library. So I decided to code my own, just because I like coding.

But

As this project has no commercial target, and as it is still a work in progress, the code and interface will change from time to time. If you are willing to do some serious visualization you should probably be using VTK. This project is just for fun. It might be handy if you like to hack code.

Generated on Tue Aug 4 17:57:41 2009 for libvd by  doxygen 1.5.5