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:

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 can a data provider associate a lookup of type "xyz" with a given image mapping?

Only the lookup signature types specified are supported. A change to the SEDRIS data representation model is required to support other types.

What is the purpose of the maximum size and minimum size fields, given the existence of the bits_of_xxx fields?

The bits_of_xxx fields provide information as to the maximum and minimum possible values, whereas the maximum and minimum size field values specify the maximum and minimum values actually in use.

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

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

data_is_integer

 This flag 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 is specified, the lookup data does not contain alpha
 information.

bits_of_luminance

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

bits_of_colour_coordinate_1

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

bits_of_colour_coordinate_2

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

bits_of_colour_coordinate_3

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

bits_of_bump_map_height

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

bits_of_material_1

 If 0 is 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 the given image.

bits_of_material_2

 If 0 is 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 the given image.

bits_of_material_3

 If 0 is 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 the given image.

bits_of_material_2_percentage

 This is the percentage of material 2, if used.

bits_of_material_3_percentage

 This is the percentage of material 3, if used.

bits_of_image_index

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

bits_of_bump_map_u

 If 0 is 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

 This is the minimum value that alpha can be within the lookup data;
 it is 0.0 if not used.

max_value_of_alpha

 This is the maximum value that alpha can be within the lookup data;
 it is 0.0 if not used.

min_value_of_luminance

 This is the minimum value that luminance can be within the lookup data;
 it is 0.0 if not used.

max_value_of_luminance

 This is the maximum value that luminance can be within the lookup data;
 it is 0.0 if not used.

min_value_of_colour_coordinate_1

 This is the minimum value that colour_coordinate_1 can be within the
 lookup data; it is 0.0 if not used.

max_value_of_colour_coordinate_1

 This is the maximum value that colour_coordinate_1 can be within the
 lookup data; it is 0.0 if not used.

min_value_of_colour_coordinate_2

 This is the minimum value that colour_coordinate_2 can be within the
 lookup data; it is 0.0 if not used.

max_value_of_colour_coordinate_2

 This is the maximum value that colour_coordinate_2 can be within the
 lookup data; it is 0.0 if not used.

min_value_of_colour_coordinate_3

 This is the minimum value that colour_coordinate_3 can be within the
 lookup data; it is 0.0 if not used.

max_value_of_colour_coordinate_3

 This is the maximum value that colour_coordinate_3 can be within the
 lookup data; it is 0.0 if not used.

min_value_of_bump_map_height

 This is the minimum value that bump_map_height can be within the
 lookup data; it is 0.0 if not used.

max_value_of_bump_map_height

 This is the maximum value that bump_map_height can be within the
 lookup data; it is 0.0 if not used.

min_value_of_bump_map_u

 This is the minimum value that bump_map_u can be within the
 lookup data; it is 0.0 if not used.

max_value_of_bump_map_u

 This is the maximum value that bump_map_u can be within the
 lookup data; it is 0.0 if not used.

min_value_of_bump_map_v

 This is the minimum value that bump_map_v can be within the
 lookup data; it is 0.0 if not used.

max_value_of_bump_map_v

 This is the maximum value that bump_map_v can be within the
 lookup data; it is 0.0 if not used.

axis_size

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

axes_count

 This is the number of axes within the lookup, and shall
 coincide with the lookup_signature.

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

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™