struct A3DGraphTextureDefinitionData

TextureDefinitionData structure.

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:

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[0] = 1.0;
myGraphTextureDefinition.m_uiMappingAttributesComponentsSize = 1;
myGraphTextureDefinition.m_pucMappingAttributesComponents[0] = 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.

See also


Public Members

A3DUns32 m_uiPictureIndex

Picture index in global data A3DGlobal.

A3DUns8 m_ucTextureDimension

Dimension of the texture.

A3DETextureMappingType m_eMappingType

Mapping type.

A3DETextureMappingOperator m_eMappingOperator

Mapping operator.

A3DMiscCartesianTransformation *m_pOperatorTransfo

Optional mapping transformation.

A3DUns32 m_uiMappingAttributes

Defines a method to map a texture. See explanations above.

A3DUns32 m_uiMappingAttributesIntensitySize

The size of m_pdMappingAttributesIntensity.

A3DDouble *m_pdMappingAttributesIntensity

Intensities for attributes.

A3DUns32 m_uiMappingAttributesComponentsSize

The size of m_pucMappingAttributesComponents.

A3DUns8 *m_pucMappingAttributesComponents

Components for attributes.

A3DETextureFunction m_eTextureFunction

Defines how to paint a texture on the surface being rendered.

See also

Texture Function

A3DDouble m_dRed

Reserved for future use. Blend color component in the range [0.0,1.0].

A3DDouble m_dGreen

Reserved for future use. Blend color component in the range [0.0,1.0].

A3DDouble m_dBlue

Reserved for future use. Blend color component in the range [0.0,1.0].

A3DDouble m_dAlpha

Reserved for future use. Blend alpha component in the range [0.0,1.0].

A3DETextureBlendParameter m_eBlend_src_RGB

Reserved for future use.

A3DETextureBlendParameter m_eBlend_dst_RGB

Reserved for future use.

A3DETextureBlendParameter m_eBlend_src_Alpha

Reserved for future use.

A3DETextureBlendParameter m_eBlend_dst_Alpha

Reserved for future use.

A3DUns8 m_ucTextureApplyingMode

Defines special applying modes of a texture Texture Applying Mode.

A3DETextureAlphaTest m_eTextureAlphaTest

Reserved for future use. Defines how to use Alpha test.

A3DDouble m_dAlphaTestReference

Threshold value for alpha test; used in conjunction with m_eTextureAlphaTest.

A3DETextureWrappingMode m_eTextureWrappingModeS

Repeating mode first direction.

A3DETextureWrappingMode m_eTextureWrappingModeT

Repeating mode second direction.

A3DGraphTextureTransformation *m_pTextureTransfo

Optional texture transformation.