The picture index refers to a picture in the picture array of the global data.
The m_ucTextureDimension member represents the dimension of the image. Possible values are 1, 2 or 3 (1 and 3 are reserved for future use)
The m_uiMappingAttributes member is a bitmask that defines the procedure to apply the texture (see Texture Mapping Attribute). This information can be completed with additional information such as intensity and involved color/alpha components.
The m_pdMappingAttributesIntensity member is an array of values that specify texture intensity values. Each of these members can be set to 0 or to the number of procedures deduced from the texture mapping attributes. If 0, intensity is set to 1. Otherwise, values should be in the range [0.0,1.0] and correspond to each non-zero bit of texture mapping attributes respectively. Same for the texture mapping attributes components, for which the default value is kA3DTextureMappingComponentsRgba (Texture Mapping Attribute Components).
Multiple procedures for texture application are reserved for future use. Therefore A3DGraphTextureDefinitionData::m_pdMappingAttributesIntensity and A3DGraphTextureDefinitionData::m_pucMappingAttributesComponents can contain at most one element:
Here is some pseudocode that sets attribute values that are within the current limitation in texture mapping settings:Or:
myGraphTextureDefinition.m_uiMappingAttributes = kA3DTextureMappingDiffuse; // For each bit of \ref m_uiMappingAttributes with a value of 1, intensity are 1.0 by default myGraphTextureDefinition.m_uiMappingAttributesIntensitySize = 0; // For each bit of \ref m_uiMappingAttributes with a value of 1, components are \ref kA3DTextureMappingComponentsRgba by default myGraphTextureDefinition.m_uiMappingAttributesComponentsSize = 0;
myGraphTextureDefinition.m_uiMappingAttributes = kA3DTextureMappingDiffuse; myGraphTextureDefinition.m_uiMappingAttributesIntensitySize = 1; myGraphTextureDefinition.m_pdMappingAttributesIntensity = 1.0; myGraphTextureDefinition.m_uiMappingAttributesComponentsSize = 1; myGraphTextureDefinition.m_pucMappingAttributesComponents = kA3DTextureMappingComponentsRgba;
For information on values for the m_dAlphaTestReference member or the m_dAlphaTestReference member, see Texture Alpha Test. The latter member is a threshold value for the alpha test, which is used in conjunction with the m_dAlphaTestReference member.
Defines a method to map a texture.
See explanations above.
Defines how to paint a texture on the surface being rendered.
Reserved for future use.
Defines how to use Alpha test.
Threshold value for alpha test; used in conjunction with m_eTextureAlphaTest.
Repeating mode first direction.
Repeating mode second direction.