/*
 * ENUM: SE_COLOR_MAPPING_ENUM
 *
 *   How a <Color> is applied to the objects that use it.
 *
 *   1. "Front" and "back" refer to which side of the object (usually a
 *      <Polygon>) is being colored.
 *
 *   2. A Primary Color is the main color of the object, when the object's
 *      appearance is not affected by texture maps or viewing distance
 *      (that is, distance from the observer to the object).
 *
 *      Note that an <Image>'s alpha (if any), and/or a color's alpha
 *      (a.k.a. <Translucency>) are not affected by anything other than
 *      the Primary Color, even when an Image Blend Color is present.
 *
 *   3. A Distance Blend Color is used to model the distortion of color due
 *      to distance from the viewer. (For instance, mountains in the distance
 *      appear to be tinted blue, an effect that increases with increasing
 *      distance as long as the mountains are still visible.
 *
 *      This is applicable mainly to objects organized by <Distance Level of
 *      Detail Data> (i.e., distance from the viewer) in <Level of Detail
 *      Related> aggregations, since the distance that the object is visible
 *      must be finite. The equation to determine the desired component of
 *      the final displayed color is
 *            C = PCC*((x-y)/y) + DBCC*(x/y)
 *      where
 *          x    is the distance to the object
 *          y    is the total distance that the object is visible
 *          PCC  is the color of the PRIMARY_COLOR <Color> component
 *          DBCC is the color of the DISTANCE_BLEND_COLOR <Color> component
 *
 *      Distance blend color dominates more as viewing distance increases,
 *      while primary color dominates more as viewing distance decreases.
 *
 *   4. An Image Blend Color helps determine the appearance of an object that
 *      has both 1) a <Color> and 2) an <Image Mapping Function> whose
 *      image_mapping_method is set to blending.
 *      a) If the <Image> is an intensity <Image> (i.e., LUMINANCE is part of
 *         its signature),  then the intensity map is used to modulate between
 *         the PRIMARY_COLOR and IMAGE_BLEND_COLOR, based on the values of the
 *         texels in the <Image>. That is, for <Images> with
 *         SE_IMAGE_SIGNATURE_LUMINANCE or
 *         SE_IMAGE_SIGNATURE_LUMINANCE_AND_ALPHA signatures, the image blend
 *         and primary colors are linearly combined with the <Image>'s
 *         luminance and its inverse to determine the displayed luminance.
 *         Where the <Image> is bright, its color combined with that of the
 *         object's Image Blend Color will dominate. Where the <Image> is dark,
 *         the object's Primary Color will dominate.
 *      b) If the <Image> is a 123COLOR <Image> or some variation thereof, the
 *         1st, 2nd, and 3rd color components of each texel (e.g. R, G, B) are
 *         linearly interpolated between the PRIMARY_COLOR and the
 *         IMAGE_BLEND_COLOR. That is, for <Images> with
 *         SE_IMAGE_SIGNATURE_123COLOR or SE_IMAGE_SIGNATURE_123COLOR_ALPHA
 *         signatures, the image blend and primary colors are linearly combined
 *         with the <Image>'s color and its inverse to determine the displayed
 *         color. Where the <Image> is bright, its color combined with that of
 *         the object's image blend color will dominate. Where the <Image> is
 *         dark, the object's primary color will dominate.
 *
 *      See also <Image Mapping Function>'s image_mapping_method for further
 *      discussion of blending.
 *
 *   5. The Light Rendering Behavior Primary Color is the Primary Color of an
 *      object's <Light Rendering Behavior>. It cannot be combined with any
 *      other color mapping.
 *
 *   5. The Light Rendering Behavior Secondary Color is the Secondary Color of
 *      an object's <Light Rendering Behavior>. It cannot be combined with any
 *      other color mapping.
 */
typedef enum
{
SE_FRONT_PRIMARY_COLOR = 0x0001,
SE_FRONT_DISTANCE_BLEND_COLOR = 0x0002,
SE_FRONT_IMAGE_BLEND_COLOR = 0x0004,
SE_BACK_PRIMARY_COLOR = 0x0008,
SE_BACK_DISTANCE_BLEND_COLOR = 0x0010,
SE_BACK_IMAGE_BLEND_COLOR = 0x0020,
SE_LIGHT_RENDERING_BEHAVIOR_PRIMARY_COLOR = 0x0040,
SE_LIGHT_RENDERING_BEHAVIOR_SECONDARY_COLOR = 0x0080
} SE_COLOR_MAPPING_ENUM;
Prev: SE_COLOR_BINDING_ENUM. Next: SE_DISPLAY_SIDE_ENUM. Up:Index