Given a 3Dvolume and a contour value, produces a list of vertices and polygons describing the contour surface.
poly The name of a variable to receive the polygon list, an m-element longword array. This list describes the vertices of each polygon and is suitable for input to MESH or POLYSHADE.
Shades An array with the same dimensions as volume. On input, it contains the user-specified shading color index for each volume element (voxel), and is converted to byte type before use. On output, this input array is replaced by another array containing the shading value for each vertex, contained in vertex.
You can obtain shading from either a single light-source model or from the values you specify with Shades.
The surface produced by SHADE_VOLUME may then be displayed as a shaded surface with the POLYSHADE procedure.
This routine is limited to processing datasets that will fit in memory.
PRO ShowVolume, vol, thresh, Low=low
s = SIZE(vol)
IF s(0) NE 3 THEN PRINT, 'Error'
SURFACE, FLTARR(2,2), /Nodata, /Save, $ XRange=[0,s(1)-1], YRange=[0,s(2)-1],$ ZRange=[0,s(3)-1]
IF N_ELEMENTS(low) EQ 0 THEN low = 0
SHADE_VOLUME, vol, thresh, v, p, Low = low
TV, POLYSHADE(v, p, /T3D)
END
NOTE: For another example demonstrating SHADE_VOLUME, see the POLYSHADE function.
For information on volume visualization, see Chapter 7, Advanced Rendering Techniques, in the PV-WAVE User's Guide.
The method used by SHADE_VOLUME is that described by Klemp, McIrvin and Boyd in "PolyPaint A Three-Dimensional Rendering Package," American Meteorology Society Proceedings, Sixth International Conference on Interactive Information and Processing Systems, 1990.