[vtkusers] Hardware Volume Rendering Quality

Karthik Krishnan karthik.krishnan at kitware.com
Fri Oct 31 09:36:02 EDT 2008


VTKEdge supports GPU ray casting. It uses floaring point textures. So
your quantization artefacts will be far less. It also handles NPOT
textures (assuming
of course that your graphics card supports floaring point textures and NPOT
textures)

See vtkedge.org

On Fri, Oct 31, 2008 at 3:00 AM, AGPX <agpxnet at yahoo.it> wrote:
> Hello,
>
> I'm quite new to VTK, but looking at vtkOpenGLVolumeTextureMapper3D.cxx, it
> seem to me that (probably for memory reason), 16 bit volumes are always
> reduced to 8 bit. I'm very disappointed about this limit. A volume with 2560
> different level, will be reduced to only 255! I wish to know: there are some
> planning to support 16 bit hardware volume rendering in future release? In
> addition, take a look at this code:
>
> int vtkOpenGLVolumeTextureMapper3D::IsTextureSizeSupported( int size[3] )
> {
>   if ( this->GetInput()->GetNumberOfScalarComponents() < 4 )
>     {
>     if ( size[0]*size[1]*size[2] > 128*256*256 )
>       {
>       return 0;
>       }
>     vtkgl::TexImage3D(vtkgl::PROXY_TEXTURE_3D, 0, GL_RGBA8, size[0]*2,
>                       size[1]*2, size[2], 0, GL_RGBA, GL_UNSIGNED_BYTE,
>                       this->Volume2 );
> ...
> }
> Why the width and height of the texture are doubled in the call to the
> TexImage3D? How much video-memory a volume (with less than 4 scalar
> components) need?   (size[0] * 2) * (size[1] * 2) * size[2] * 4 ? That is,
> 16 bytes per voxel?
> In addition, looking at UpdateVolumes. From the function
> vtkVolumeTextureMapper3D::UpdateVolumes, I see the following code:
>
> ...
>
> int neededSize = powerOfTwoDim[0] * powerOfTwoDim[1] * powerOfTwoDim[2];
>
> ...
>
> switch (components)
> {
>       case 1:
>         this->Volume1 = new unsigned char [2*neededSize];
>         this->Volume2 = new unsigned char [3*neededSize];
>         this->Volume3 = NULL;
>         break;
> ...
> }
>
>
>
> That is, for one component scalar, a volume need 5 times the neededSize
> (i.e. the dimesion of the volume, nearest to the power of two) bytes of
> system memory. Is this correct?
>
>
>
> Thanks in advance,
>
> - AGPX
> ________________________________
> Scopri la community di Io fotografo e video
> Il nuovo corso di Gazzetta dello sport per diventare veri fotografi!
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>



-- 
Karthik Krishnan
R&D Engineer,
Kitware Inc.
Ph: 518 371 3971 x119
Fax: 518 371 3971



More information about the vtkusers mailing list