Creates a geometric surface from a volumetric density field. The polygonization occurs at locations where the density values intersect the edges of cells inside a subdivided cartesian grid.
The subdivided grid can be made of either cubes or tetrahedrons, each of which will produce different types of geometric artifacts which may result in a surface which is comparatively better or worse depending on the volume dataset being used.
The jit.gl.isosurf object requires one argument: the name of a drawing context. A named drawing context is a named instance of a jit.window, jit.pwindow, or jit.matrix object that has an instance of the jit.gl.render object associated with it. Additionally it can reference the name of a jit.gl.node sub-context. This value may also be set via the OB3D drawto attribute. If no argument is present, the object is implicitly added to the first valid drawing context or sub-context found in the current patch or by searching up the patcher hierarchy.
The autocolor mode for calculating vertex colors (default = normal) Supported modes are:
normal (normal direction)
sample (density values)
Enables or disables the calculation of normal directions used for calculating lighting (default = 1).
dim [3 ints]
The dimensions of the subdivided grid (default = 20 20 20)
Cache in displaylist flag (default = 0) This feature may be used to speed up rendering time by creating and storing a list of gl drawing commands on the graphics card. This will have no effect if matrixoutput turned on.
The epsilon value used for determining the delta for sampling normal directions. (default = 0.12)
The density threshold for constructing the surface. (default = 1.0)
The mode of subdivision (default = cubes) Supported modes are:
The number of triangles in the surface mesh. This attribute is useful when drawing with matrixoutput enabled. See the jit.gl.isosurf-matrixoutput example patch for a demonstration.