<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:10pt"><DIV>Hello,<BR><BR>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:<BR><BR><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">int vtkOpenGLVolumeTextureMapper3D::IsTextureSizeSupported( int size[3] )</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">{</SPAN><BR style="FONT-FAMILY: Courier
 New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp; if ( this-&gt;GetInput()-&gt;GetNumberOfScalarComponents() &lt; 4 )</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp; {</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp; if ( size[0]*size[1]*size[2] &gt; 128*256*256 )</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
 0;</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN><BR><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp; vtkgl::TexImage3D(vtkgl::PROXY_TEXTURE_3D, 0, GL_RGBA8, size[0]*2, </SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size[1]*2, size[2], 0, GL_RGBA, GL_UNSIGNED_BYTE,</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier
 New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Volume2 );</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">...</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">}</SPAN><BR></DIV>
<DIV>Why the width and height of the texture are doubled in the call to the TexImage3D? How much<STRONG> video-memory</STRONG> a volume (with less than 4 scalar components) need?&nbsp;&nbsp; (size[0] * 2) * (size[1] * 2) * size[2] * 4 ? That is, 16 bytes per voxel?</DIV>
<DIV>In addition, looking at UpdateVolumes. From the function <SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">vtkVolumeTextureMapper3D::UpdateVolumes</SPAN>, I see the following code:<BR><BR><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">...</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">int neededSize = powerOfTwoDim[0] * powerOfTwoDim[1] * powerOfTwoDim[2];</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">...</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><BR style="FONT-FAMILY: Courier
 New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">switch (components)</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">{</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1:</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Volume1 = new unsigned char [2*neededSize];</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Volume2 = new unsigned
 char [3*neededSize];</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Volume3 = NULL;</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">...</SPAN><BR style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif">}</SPAN></DIV>
<P><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"></SPAN>&nbsp;</P>
<P><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"><FONT face="arial, helvetica, sans-serif">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 <STRONG>system memory</STRONG>. Is this correct?</FONT></SPAN></P>
<P><SPAN style="FONT-FAMILY: Courier New,courier,monaco,monospace,sans-serif"></SPAN>&nbsp;</P>
<DIV><BR>Thanks in advance,</DIV>
<DIV>&nbsp;</DIV>
<DIV>- AGPX</DIV></div><br>



      <hr size=1><font face="Arial" size="2">Scopri la community di Io fotografo e video<br>
<a href=http://us.rd.yahoo.com/SIG=11ud6kror/**http%3A%2F%2Fwww.flickr.com%2Fgroups%2Fiofotografoevideo%2F>Il nuovo corso</a> di Gazzetta dello sport per diventare veri fotografi!</font></body></html>