viewgam
Author: Graeme Gill

## gamut/viewgam

### Summary

Convert one or more gamuts into a VRML 3D visualization file. This allows visual comparison of several gamut surfaces.
Also allows creating the intersection (overlap) between two gamuts. This is useful in measuring and visualizing the coverage of one gamut of another.

### Usage

viewgam { [-c color] [-t trans] [-w|s] infile.gam } ... outfile.wrl
For each input gamut file:
-c color Color to make gamut, r = red, g = green, b = blue
c = cyan, m = magenta, y = yellow, w = white
n = natural color
-t trans Set transparency from 0.0 (opaque) to 1.0 (invisible)
-w Show as a wireframe
-s Show as a solid surface
infile.gam Name of infile.gam file
-n Don't add Lab axes
-i Compute and print intersecting volume of first 2 gamuts
-I isect.gam Same as -i, but save intersection gamut to isect.gam
outfile.wrl Name of output outfile.wrl file

### Usage Details and Discussion

viewgam creates a VRML file that allows the viewing and comparing of multiple gamut files by representing them as solid surfaces, wireframes, etc. It takes as input a list of gamut files, each file preceded by any options that are to apply to the display of that particular gamut.
The options that can be specified for each input gamut are:
-c color allows the color of the surface or wireframe to be specified. Any of a number of predefined colors (red, green, blue, cyan, magenta, yellow, white) can be used, as well as allowing the color to reflect the natural color of that point in the colorspace.
-t trans allows the transparency of the surface to be specified. A value of 0.2 might be a good place to start. Using transparency generally leads to a slower display than the default opaque surface treatment, but can make it possible to see within a solid gamut surface.
-w forces the gamut surface to be rendered as a wireframe.
-s forces the gamut surface to be rendered as a solid surface.
By default, the first gamut is treated as a solid with natural coloring, with the second and subsequent gamuts being wireframes with colors of white, red, cyan, yellow, green and blue, with decreasing visibility.
The -n flag turns off display of the default L*a*b* axes in the output.
The -i flag computes the intersecting volume of the first two gamuts (in cubic color units, usually L*a*b*), as well as the volumes of the two gamuts and the percentage the intersection is of the two gamuts. This is a useful measure of the coverage one gamut has of another. If -I is used, then as well as printing the volume, the intersecting gamut will be saved to the isect.gam file.
The final argument is the name of the VRML file to save the resulting composite 3D visualization file to.