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.

The minimum / maximum field values are used to specify the minimum and maximum values the corresponding texel 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 the referenced <Image> instance fall within the range [-1.0, 1.0]. In another example, a lookup with unsigned integer texel 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.

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 DRM 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

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Image_Lookup_Signature lookup_signature; (notes)
SE_Image_Lookup_Type lookup_type; (notes)
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


lookup_signature

 The lookup_signature field specifies the number and type of lookup axes.

lookup_type

 The lookup_type field specifies how to convert a texel's data into
 some specified lookup index or indices.

colour_model

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

data_is_integer

 The data_is_integer field specifies the data type of the raw
 lookup data. Either the raw data is integer and the data maximum
 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; otherwise, this is an index into the <Property Table>
 instance that is referenced from the given <Image> instance.

bits_of_material_2

 If 0 is specified, the lookup data does not contain material 2 index
 information; otherwise, this is an index into the <Property Table>
 instance that is referenced from the given <Image> instance.

bits_of_material_3

 If 0 is specified, the lookup data does not contain material 3 index
 information; otherwise, the bits_of_material_3 field specifies an
 index into the <Property Table> instance that is referenced from
 the given <Image> instance.

bits_of_material_2_percentage

 If the <Image> instance being referenced by the given <Image Lookup>
 instance contains material 2 information, the value of the
 bits_of_material_2_percentage field is the percentage of material 2.

bits_of_material_3_percentage

 If the <Image> instance being referenced by the given <Image Lookup>
 instance contains material 3 information, the value of the
 bits_of_material_3_percentage field is the percentage of material 3.

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.

min_value_of_alpha

 The min_value_of_alpha field specifies the minimum value that alpha
 can be within the lookup data; it is 0.0 if not used.

max_value_of_alpha

 The max_value_of_alpha field specifies the maximum value that alpha
 can be within the lookup data; it is 0.0 if not used.

min_value_of_luminance

 The min_value_of_luminance field specifies the minimum value that
 luminance can be within the lookup data; it is 0.0 if not used.

max_value_of_luminance

 The max_value_of_luminance field specifies the maximum value that
 luminance can be within the lookup data; it is 0.0 if not used.

min_value_of_colour_coordinate_1

 The min_value_of_colour_coordinate_1 field specifies 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

 The max_value_of_colour_coordinate_1 field specifies 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

 The min_value_of_colour_coordinate_2 field specifies 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

 The max_value_of_colour_coordinate_2 field specifies 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

 The min_value_of_colour_coordinate_3 field specifies 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

 The max_value_of_colour_coordinate_3 field specifies 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

 The min_value_of_bump_map_height field specifiesthe 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

 The max_value_of_bump_map_height field specifies 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

 The min_value_of_bump_map_u field specifies 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

 The max_value_of_bump_map_u field specifies 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

 The min_value_of_bump_map_v field specifies 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

 The max_value_of_bump_map_v field specifies the maximum value
 that bump_map_v can be within the lookup data; it is 0.0 if
 not used.

axis_size

 The axis_size field specifies 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> instance.

axes_count

 The axes_count specifies the number of axes within the lookup,
 and shall coincide with the lookup_signature of the given
 <Image Lookup> instance.

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

Last updated: July 16, 2004 Copyright © 2004 SEDRIS