Class Name: Image Lookup

Superclass - SEDRIS Abstract Base

Definition

Image Lookups are sets of data that represent the final displayed value of a texel. Instead of the value of a texel representing a the color on the screen, the texel value becomes a pointer into the lookup that represents the final displayed value. It should be noted that in general the number of axes in a lookup is equal to the number of components within the referencing image signature and the number of elements along an axis will be equal to the maximum size of the component image data.

Primary Page in DRM Diagram:

Example

  1. Given an Image of a regular grid of lines, by scaling the Image, it can be used to represent the concrete blocks of a parking lot, and by having an Image Lookup change the alpha of the "white" areas of the grid, the Image can be applied to a vertical Polygon in order to represent a chain link fence.

FAQs

How do I associate a lookup of type "xyz" with my image mapping?
Only the lookup signature types specified are supported. A change to the SEDRIS data representation model is required to support other types.

Why do I need to know the maximum size of alpha when I can determine from the bit field size, the maximum value of the field?
Some data providers may wish to compress or expand the data. Therefore the bit field may support 256 color (8 bits) but the true maximum size of the data is only 128.

Constraints

None.

Component of (one-way)

Field Elements

SE_LOOKUP_SIGNATURE_ENUM lookup_signature;
SE_LOOKUP_TYPE_ENUM lookup_type; (notes)
SE_COLOR_MODEL_ENUM color_model; (notes)
SE_UINT16 bits_of_alpha; (notes)
SE_UINT16 bits_of_luminance; (notes)
SE_UINT16 bits_of_first_color_coord; (notes)
SE_UINT16 bits_of_second_color_coord; (notes)
SE_UINT16 bits_of_third_color_coord; (notes)
SE_UINT16 bits_of_bump; (notes)
SE_UINT16 bits_of_material1; (notes)
SE_UINT16 bits_of_material2; (notes)
SE_UINT16 bits_of_material3; (notes)
SE_UINT16 bits_of_material2_percentage; (notes)
SE_UINT16 bits_of_material3_percentage; (notes)
SE_UINT16 bits_of_image_id; (notes)
SE_FLOAT32 min_value_of_alpha;
SE_FLOAT32 max_value_of_alpha; (notes)
SE_FLOAT32 min_value_of_luminance;
SE_FLOAT32 max_value_of_luminance; (notes)
SE_FLOAT32 min_value_of_first_color_coord;
SE_FLOAT32 max_value_of_first_color_coord; (notes)
SE_FLOAT32 min_value_of_second_color_coord;
SE_FLOAT32 max_value_of_second_color_coord; (notes)
SE_FLOAT32 min_value_of_third_color_coord;
SE_FLOAT32 max_value_of_third_color_coord; (notes)
SE_FLOAT32 min_value_of_bump;
SE_FLOAT32 max_value_of_bump; (notes)
SE_PINT16 axis_size; (notes)
SE_PINT16 axes_count; (notes)
SE_BOOLEAN data_is_integer; (notes)

Notes

Fields Notes

lookup_type

 See comments for SE_LOOKUP_TYPE_ENUM.

color_model

 The color model used throughout the lookup.  Only one color model is
 allowed per texture definition.  Either RGB, CMY, or HSV (a.k.a. HSB).

bits_of_alpha

 If 0 specified, the lookup data does not contain alpha information

bits_of_luminance

 If 0 specified, the lookup data does not contain luminance information

bits_of_first_color_coord

 If 0 specified, the lookup data does not contain color information for
 this color coordinate (R, C, H).

bits_of_second_color_coord

 If 0 specified, the lookup data does not contain color information for
 this color coordinate (G, M, S).

bits_of_third_color_coord

 If 0 specified, the lookup data does not contain color information for
 this color coordinate (B, Y, V).

bits_of_bump

 If 0 specified, the lookup data does not contain bump information

bits_of_material1

 If 0 specified, the lookup data does not contain material 1 index
 information. If non-0 is specified, then this is an index into the
 <Property Table> that is referenced from this image.

bits_of_material2

 If 0 specified, the lookup data does not contain material 2 index
 information. If non-0 is specified, then this is an index into the
 <Property Table> that is referenced from this image.

bits_of_material3

 If 0 specified, the lookup data does not contain material 3 index
 information. If non-0 is specified, then this is an index into the
 <Property Table> that is referenced from this image.

bits_of_material2_percentage

 percentage of material 2 (if used)

bits_of_material3_percentage

 percentage of material 3 (if used)

bits_of_image_id

 If 0 specified, the lookup data does not contain image ID information
 The following min/max values are used to specify the minimum and
 maximum values a component may have. For example, if the lookup
 components are floating point 32 bits, then a minimum value of -1.0 and
 a maximum value of 1.0 means that all values in an image fall within
 the range [-1.0, 1.0]. In another example, a lookup with unsigned
 integer components of 8 bits may specify its range to be [0, 99],
 indicating that even though the maximum value that can be specified
 with 8 bits is 255, the value 99 should be treated as the maximum
 value for this lookup.

max_value_of_alpha

 minimum/maximum value that alpha can be within the lookup data

max_value_of_luminance

 minimum/maximum value that luminance can be within the lookup data

max_value_of_first_color_coord

 minimum/maximum value that this color coordinate can be within the
 lookup data (R, C, or H). 0 if not used.

max_value_of_second_color_coord

 minimum/maximum value that this color coordinate can be within the
 lookup data (G, M, or S). 0 if not used.

max_value_of_third_color_coord

 minimum/maximum value that this color coordinate can be within the
 lookup data (B, Y, or V). 0 if not used.

max_value_of_bump

 minimum/maximum value that bump can be within the lookup data

axis_size

 number of elements along each axis of the lookup. All axes must be the
 same size and must be as large as the any maximum value for any
 component within the referencing image.

axes_count

 number of axes within the lookup.
 This number must coincide with the lookup signature.

data_is_integer

 Boolean Flag that describes the data type of the raw lookup data.
 Either the raw data is integer and the data max sizes are valid
 or the raw lookup data is floating point and the values are
 between 0 and 1.

Prev: Image Library. Next: Image Mapping Function. Up:Index.