Volume Rendering Tips

System Requirements


Unstructured volume rendering subdivides each element into Tetrahedra. Unstructured volume rendering uses 100MB of video memory per Million Tets + 72 bytes per pixel. Structured volume rendering uses 2MB per Million grid cells + 72 bytes per pixel.  Verify that you have a video card with adequate video memory for your size of rendering.  For large data use structured volume rendering.   


Volume rendering requires a DirectX 10 capable graphics card.  Newer cards with more memory and up-to-date software drivers will perform best.  EnSight will disable volume rendering when it encounters archaic graphics card hardware. Because volume rendering exercises a large amount of the OpenGL functionality, remote rendering problems are very likely.  So remote rendering is not supported.


Improving Volume Rendering Image Quality



The volume looks too blocky when colored by an element-centered variable. 


The volume renderer renders each voxel of an element centered variable as a constant value "brick", which can make it look 'blocky'.  To avoid this effect, color the volume by a nodal variable.  The ElemToNode calculator function can be used to create the nodal variable.




It looks like there are transparent layers, especially near the edges of the volume


Interpolation artifacts can show up in the structured volume renderer, which look like layers.  In the 'Color editor' dialog at the bottom there is a 'Volume quality' option.  This controls the effective number of samples the ray tracer will using during the traversal of the volume.  Setting it to: 'Best' will avoid taking discrete samples altogether and will instead use precise ray/cell intersections when accumulating the color.




The transparency of the volume is too high or too low.


Opacity values are stored in EnSight in a Look Up Table (LUT).  And visible "stepping" artifacts in EnSight volume rendering can stem from the opacity as follows.

First, the LUT values are multiplied by a "normalization" factor called the 'Alpha volume scale' value which is found in the palette editor dialog in the 'Options' tab. The 'Alpha volume scale' value can be used to change the overall range of the alpha channel.  If the alpha channel LUT defined in the 'Advanced' tab covers a very low range, one can try to expand the range by increasing the 'Alpha volume scale'. If the LUT tends to be very near 1.0, try decreasing the value.

Next, under the Advanced Tab the user can adjust the alpha channel by variable value by sliding the knots along the graph up and down. Try to avoid opacities of exactly 1.0 and to avoid sharp changes in opacity, especially in ranges where the values are likely to appear due to interpolation. Values very near (or at 1.0) can have interpolation artifacts that show up as "ringing" or "halo" that highlight the borders of a volume. Likewise, in some cases, not going all the way to 0.0 can avoid the same issue at the low end.  High opacity values in the LUT for partial volume values tend to cause the same issue.  

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request