A3DGraphTextureDefinitionData

Fields

A3DUns32

m_uiPictureIndex

A3DUns8

m_ucTextureDimension

A3DETextureMappingType

m_eMappingType

A3DETextureMappingOperator

m_eMappingOperator

A3DMiscCartesianTransformation *

m_pOperatorTransfo

A3DUns32

m_uiMappingAttributes

A3DUns32

m_uiMappingAttributesIntensitySize

A3DDouble *

m_pdMappingAttributesIntensity

A3DUns32

m_uiMappingAttributesComponentsSize

A3DUns8 *

m_pucMappingAttributesComponents

A3DETextureFunction

m_eTextureFunction

A3DDouble

m_dRed

A3DDouble

m_dGreen

A3DDouble

m_dBlue

A3DDouble

m_dAlpha

A3DETextureBlendParameter

m_eBlend_src_RGB

A3DETextureBlendParameter

m_eBlend_dst_RGB

A3DETextureBlendParameter

m_eBlend_src_Alpha

A3DETextureBlendParameter

m_eBlend_dst_Alpha

A3DUns8

m_ucTextureApplyingMode

A3DETextureAlphaTest

m_eTextureAlphaTest

A3DDouble

m_dAlphaTestReference

A3DETextureWrappingMode

m_eTextureWrappingModeS

A3DETextureWrappingMode

m_eTextureWrappingModeT

A3DGraphTextureTransformation *

m_pTextureTransfo

Detailed Description

struct A3DGraphTextureDefinitionData

TextureDefinitionData structure.

The picture index refers to a picture in the picture array of the global data.

Version

2.0

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;
Or:
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

A3DGlobal

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.