The SEDRIS Data Representation Model
APPENDIX A - Classes Image Lookup |
---|
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:
The number of axes in a lookup equals the number of components within the referencing image signature.
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.
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.
Only the lookup signature types specified are supported. A change to the SEDRIS DRM is required to support other types.
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.
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 0 is specified, the lookup data does not contain alpha information.
If 0 is specified, the lookup data does not contain luminance information.
If 0 is specified, the lookup data does not contain colour information for this colour coordinate (R, C, H).
If 0 is specified, the lookup data does not contain colour information for this colour coordinate (G, M, S).
If 0 is specified, the lookup data does not contain colour information for this colour coordinate (B, Y, V).
If 0 is specified, the lookup data does not contain bump_map_height information.
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.
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.
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.
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.
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.
If 0 is specified, the lookup data does not contain image index information.
If 0 is specified, the lookup data does not contain bump_map_u information.
If 0 specified, the lookup data does not contain bump_map_v information.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The axes_count specifies the number of axes within the lookup, and shall coincide with the lookup_signature of the given <Image Lookup> instance.
|