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 mapping for the values of the texel data of an <Image> instance. The texel values are interpreted as references into a lookup from which the final displayed values are computed.

In the text that follows, "lookup data" is used to refer to the computed values after the texel data has been converted using the specified lookup type.

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, 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> instance of a regular grid of lines, by scaling the <Image> instance, it can be used to represent the concrete blocks of a parking lot, and by having an <Image Lookup> instance change the alpha of the "white" areas of the grid, the <Image> instance can be applied to a vertical <Polygon> instance 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 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 indexes. See SE_Image_Lookup_Type for details about how the texel values in <Image> are processed against the lookup data provided by the <Image Lookup> instance.

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

bits_of_luminance

If zero is specified for bits_of_luminance, the lookup data does not contain luminance information.

bits_of_colour_coordinate_1

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

bits_of_colour_coordinate_2

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

bits_of_colour_coordinate_3

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

bits_of_bump_map_height

If zero is specified for bits_of_bump_map_height, the lookup data does not contain bump_map_height information.

bits_of_material_1

If zero is specified for bits_of_material_1, the lookup data does not contain material 1 index information. If non-zero is specified, this is an index into the <Property Table> instance(s) that are referenced from the given <Image> instance.

bits_of_material_2

If zero is specified for bits_of_material_2, the lookup data does not contain material 2 index information. If non-zero is specified, this is an index into the <Property Table> instance(s) that are referenced from the given <Image> instance.

bits_of_material_3

If zero is specified for bits_of_material_3, the lookup data does not contain material 3 index information. If non-zero is specified, this is an index into the <Property Table> instance(s) that are referenced from the given <Image> instance.

bits_of_material_2_percentage

If the <Image> instance being referenced by the <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 <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 zero is specified for bits_of_image_index, the lookup data does not contain image index information.

bits_of_bump_map_u

If zero is specified for bits_of_bump_map_u, the lookup data does not contain bump_map_u information.

bits_of_bump_map_v

If zero is specified for bits_of_bump_map_v, 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 alpha is 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 alpha is 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 luminance is 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 luminance is 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 colour coordinate 1 is 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 colour coordinate 1 is 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 colour coordinate 2 is 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 colour coordinate 2 is 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 colour coordinate 3 is 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 colour coordinate 3 is not used.

min_value_of_bump_map_height

The min_value_of_bump_map_height field specifies the minimum value that bump map height can be within the lookup data. It is 0.0 if bump map height is 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 bump map height is 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 bump map u is 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 bump map u is 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 bump map v is 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 bump map v is 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 <Image Lookup> instance.


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

Last updated: August 23, 2005 Copyright © 2005 SEDRIS