Table 6.114 — DRM_Image_Lookup

Property

Description

Class

  • <DRM Image Lookup>

Superclass

Subclass

  • None.

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 <DRM 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 eight bits is 255, the value 99 should be treated as the maximum value for this lookup.

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

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

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

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.

If zero is specified for bits_of_alpha, the lookup data does not contain alpha information.

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

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).

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).

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).

If zero is specified for bits_of_bump_map_height, the lookup data does not contain bump map height information.

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

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

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

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

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

If zero is specified for bits_of_image_index, the lookup data does not contain image index information.

If zero is specified for bits_of_bump_map_u, the lookup data does not contain bump map u information.

If zero is specified for bits_of_bump_map_v, the lookup data does not contain bump map v information.

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

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

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

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

The minimum_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.

The maximum_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.

The maximum_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.

The maximum_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.

The minimum_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.

The maximum_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.

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

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

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

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

The minimum_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.

The maximum_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.

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 <DRM Image> instance.

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

Clarifications

None.

Class diagram

Figure 6.134 — DRM_Image_Lookup

Inherited field elements

Field name

Range

Field data type

None

   

Field elements

Field name

Range

Field data type

lookup_signature

 

Image_Lookup_Signature

lookup_type

 

Image_Lookup_Type

colour_model

 

Colour_Model

data_is_integer

 

Boolean

bits_of_alpha

 

Short_Integer_Unsigned

bits_of_luminance

 

Short_Integer_Unsigned

bits_of_colour_coordinate_1

 

Short_Integer_Unsigned

bits_of_colour_coordinate_2

 

Short_Integer_Unsigned

bits_of_colour_coordinate_3

 

Short_Integer_Unsigned

bits_of_bump_map_height

 

Short_Integer_Unsigned

bits_of_material_1

 

Short_Integer_Unsigned

bits_of_material_2

 

Short_Integer_Unsigned

bits_of_material_3

 

Short_Integer_Unsigned

bits_of_material_2_percentage

 

Short_Integer_Unsigned

bits_of_material_3_percentage

 

Short_Integer_Unsigned

bits_of_image_index

 

Short_Integer_Unsigned

bits_of_bump_map_u

 

Short_Integer_Unsigned

bits_of_bump_map_v

 

Short_Integer_Unsigned

minimum_value_of_alpha

 

Float

maximum_value_of_alpha

 

Float

minimum_value_of_luminance

 

Float

maximum_value_of_luminance

 

Float

minimum_value_of_colour_coordinate_1

 

Float

maximum_value_of_colour_coordinate_1

 

Float

maximum_value_of_colour_coordinate_2

 

Float

maximum_value_of_colour_coordinate_2

 

Float

minimum_value_of_colour_coordinate_3

 

Float

maximum_value_of_colour_coordinate_3

 

Float

minimum_value_of_bump_map_height

 

Float

maximum_value_of_bump_map_height

 

Float

minimum_value_of_bump_map_u

 

Float

maximum_value_of_bump_map_u

 

Float

minimum_value_of_bump_map_v

 

Float

maximum_value_of_bump_map_v

 

Float

axis_size

 

Short_Integer_Positive

axes_count

 

Short_Integer_Positive

Associated to (one-way) (inherited)

  • None.

Associated to (one-way)

  • None.

Associated by (one-way) (inherited)

  • None.

Associated by (one-way)

  • None.

Associated with (two-way) (inherited)

  • None.

Associated with (two-way)

  • None.

Composed of (two-way) (inherited)

  • None.

Composed of (two-way)

  • None.

Composed of (two-way metadata) (inherited)

  • None.

Composed of (two-way metadata)

  • None.

Component of (two-way) (inherited)

  • None.

Component of (two-way)

Constraints

Example(s)

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