A3DGraphTextureDefinitionData

struct A3DGraphTextureDefinitionData

TextureDefinitionData structure.

2.0

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:

myGraphTextureDefinition.m_uiMappingAttributes=kA3DTextureMappingDiffuse;

//Foreachbitof\refm_uiMappingAttributeswithavalueof1,intensityare1.0bydefault
myGraphTextureDefinition.m_uiMappingAttributesIntensitySize=0;

//Foreachbitof\refm_uiMappingAttributeswithavalueof1,componentsare\refkA3DTextureMappingComponentsRgbabydefault
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;

Here is some pseudocode that sets attribute values that are within the current limitation in texture mapping settings: Or:

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.

Variables

A3DUns32 A3DGraphTextureDefinitionData.m_uiPictureIndex

Picture index in global data A3DGlobal.

A3DUns8 A3DGraphTextureDefinitionData.m_ucTextureDimension

Dimension of the texture.

A3DETextureMappingType A3DGraphTextureDefinitionData.m_eMappingType

Mapping type.

A3DETextureMappingOperator A3DGraphTextureDefinitionData.m_eMappingOperator

Mapping operator.

A3DMiscCartesianTransformation *A3DGraphTextureDefinitionData.m_pOperatorTransfo

Optional mapping transformation.

A3DUns32 A3DGraphTextureDefinitionData.m_uiMappingAttributes

Defines a method to map a texture.

See explanations above.

A3DUns32 A3DGraphTextureDefinitionData.m_uiMappingAttributesIntensitySize

The size of m_pdMappingAttributesIntensity.

A3DDouble *A3DGraphTextureDefinitionData.m_pdMappingAttributesIntensity

Intensities for attributes.

A3DUns32 A3DGraphTextureDefinitionData.m_uiMappingAttributesComponentsSize

The size of m_pucMappingAttributesComponents.

A3DUns8 *A3DGraphTextureDefinitionData.m_pucMappingAttributesComponents

Components for attributes.

A3DETextureFunction A3DGraphTextureDefinitionData.m_eTextureFunction

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

A3DDouble A3DGraphTextureDefinitionData.m_dRed

Reserved for future use.

Blend color component in the range [0.0,1.0].

A3DDouble A3DGraphTextureDefinitionData.m_dGreen

Reserved for future use.

Blend color component in the range [0.0,1.0].

A3DDouble A3DGraphTextureDefinitionData.m_dBlue

Reserved for future use.

Blend color component in the range [0.0,1.0].

A3DDouble A3DGraphTextureDefinitionData.m_dAlpha

Reserved for future use.

Blend alpha component in the range [0.0,1.0].

A3DETextureBlendParameter A3DGraphTextureDefinitionData.m_eBlend_src_RGB

Reserved for future use.

A3DETextureBlendParameter A3DGraphTextureDefinitionData.m_eBlend_dst_RGB

Reserved for future use.

A3DETextureBlendParameter A3DGraphTextureDefinitionData.m_eBlend_src_Alpha

Reserved for future use.

A3DETextureBlendParameter A3DGraphTextureDefinitionData.m_eBlend_dst_Alpha

Reserved for future use.

A3DUns8 A3DGraphTextureDefinitionData.m_ucTextureApplyingMode

Defines special applying modes of a texture Texture Applying Mode.

A3DETextureAlphaTest A3DGraphTextureDefinitionData.m_eTextureAlphaTest

Reserved for future use.

Defines how to use Alpha test.

A3DDouble A3DGraphTextureDefinitionData.m_dAlphaTestReference

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

A3DETextureWrappingMode A3DGraphTextureDefinitionData.m_eTextureWrappingModeS

Repeating mode first direction.

A3DETextureWrappingMode A3DGraphTextureDefinitionData.m_eTextureWrappingModeT

Repeating mode second direction.

A3DGraphTextureTransformation *A3DGraphTextureDefinitionData.m_pTextureTransfo

Optional texture transformation.