The SEDRIS Data Representation Model
APPENDIX A - Classes
Image Lookup

Class Name: Image Lookup

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class specifies a set of data representing the final displayed value of a texel.

The value of a texel no longer represents the colour at a point on a display; instead, a texel value is interpreted as a reference into the lookup representing the final displayed value.

In general:

  1. The number of axes in a lookup equals the number of components within the referencing image signature.
  2. The number of elements along an axis equals the maximum size of the component image data.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class 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 colour (8 bits) but the true maximum size of the data is only 128.

Constraints

None.

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Image_Lookup_Signature lookup_signature;
SE_Image_Lookup_Type lookup_type;
SE_Colour_Model colour_model; (notes)
SE_Boolean data_is_integer; (notes)
SE_Short_Integer_Unsigned bits_of_alpha; (notes)
SE_Short_Integer_Unsigned bits_of_luminance; (notes)
SE_Short_Integer_Unsigned bits_of_colour_coordinate_1; (notes)
SE_Short_Integer_Unsigned bits_of_colour_coordinate_2; (notes)
SE_Short_Integer_Unsigned bits_of_colour_coordinate_3; (notes)
SE_Short_Integer_Unsigned bits_of_bump_map_height; (notes)
SE_Short_Integer_Unsigned bits_of_material_1; (notes)
SE_Short_Integer_Unsigned bits_of_material_2; (notes)
SE_Short_Integer_Unsigned bits_of_material_3; (notes)
SE_Short_Integer_Unsigned bits_of_material_2_percentage; (notes)
SE_Short_Integer_Unsigned bits_of_material_3_percentage; (notes)
SE_Short_Integer_Unsigned bits_of_image_index; (notes)
SE_Short_Integer_Unsigned bits_of_bump_map_u; (notes)
SE_Short_Integer_Unsigned bits_of_bump_map_v; (notes)
SE_Float min_value_of_alpha; (notes)
SE_Float max_value_of_alpha; (notes)
SE_Float min_value_of_luminance; (notes)
SE_Float max_value_of_luminance; (notes)
SE_Float min_value_of_colour_coordinate_1; (notes)
SE_Float max_value_of_colour_coordinate_1; (notes)
SE_Float min_value_of_colour_coordinate_2; (notes)
SE_Float max_value_of_colour_coordinate_2; (notes)
SE_Float min_value_of_colour_coordinate_3; (notes)
SE_Float max_value_of_colour_coordinate_3; (notes)
SE_Float min_value_of_bump_map_height; (notes)
SE_Float max_value_of_bump_map_height; (notes)
SE_Float min_value_of_bump_map_u; (notes)
SE_Float max_value_of_bump_map_u; (notes)
SE_Float min_value_of_bump_map_v; (notes)
SE_Float max_value_of_bump_map_v; (notes)
SE_Short_Integer_Positive axis_size; (notes)
SE_Short_Integer_Positive axes_count; (notes)

Notes

Fields Notes


colour_model

 The colour model used throughout the lookup.  Only one colour model is
 allowed per texture definition.

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.

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_colour_coordinate_1

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

bits_of_colour_coordinate_2

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

bits_of_colour_coordinate_3

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

bits_of_bump_map_height

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

bits_of_material_1

 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_material_2

 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_material_3

 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_material_2_percentage

 percentage of material 2 (if used)

bits_of_material_3_percentage

 percentage of material 3 (if used)

bits_of_image_index

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

bits_of_bump_map_u

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

bits_of_bump_map_v

 If 0 specified, the lookup data does not contain bump_map_v
 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.

min_value_of_alpha

 minimum value that alpha can be within the lookup data;
 0 if not used.

max_value_of_alpha

 maximum value that alpha can be within the lookup data;
 0 if not used.

min_value_of_luminance

 minimum value that luminance can be within the lookup data;
 0 if not used.

max_value_of_luminance

 maximum value that luminance can be within the lookup data;
 0 if not used.

min_value_of_colour_coordinate_1

 minimum value that colour_coordinate_1 can be within the lookup data;
 0 if not used.

max_value_of_colour_coordinate_1

 maximum value that colour_coordinate_1 can be within the lookup data;
 0 if not used.

min_value_of_colour_coordinate_2

 minimum value that colour_coordinate_2 can be within the lookup data;
 0 if not used.

max_value_of_colour_coordinate_2

 maximum value that colour_coordinate_2 can be within the lookup data;
 0 if not used.

min_value_of_colour_coordinate_3

 minimum value that colour_coordinate_3 can be within the lookup data;
 0 if not used.

max_value_of_colour_coordinate_3

 maximum value that colour_coordinate_3 can be within the lookup data;
 0 if not used.

min_value_of_bump_map_height

 minimum value that bump_map_height can be within the lookup data;
 0 if not used.

max_value_of_bump_map_height

 maximum value that bump_map_height can be within the lookup data;
 0 if not used.

min_value_of_bump_map_u

 minimum value that bump_map_u can be within the lookup data;
 0 if not used.

max_value_of_bump_map_u

 maximum value that bump_map_u can be within the lookup data;
 0 if not used.

min_value_of_bump_map_v

 minimum value that bump_map_v can be within the lookup data;
 0 if not used.

max_value_of_bump_map_v

 maximum value that bump_map_v can be within the lookup data;
 0 if not used.

axis_size

 number of elements along each axis of the lookup. All axes shall be the
 same size and shall 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 shall coincide with the lookup signature.

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

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™