# 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:

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

      myGraphTextureDefinition.m_uiMappingAttributes=kA3DTextureMappingDiffuse;

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

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

  > `A3DGlobal`

  ## Index

  Variables

  - `m_uiPictureIndex`
  - `m_ucTextureDimension`
  - `m_eMappingType`
  - `m_eMappingOperator`
  - `m_pOperatorTransfo`
  - `m_uiMappingAttributes`
  - `m_uiMappingAttributesIntensitySize`
  - `m_pdMappingAttributesIntensity`
  - `m_uiMappingAttributesComponentsSize`
  - `m_pucMappingAttributesComponents`
  - `m_eTextureFunction`
  - `m_dRed`
  - `m_dGreen`
  - `m_dBlue`
  - `m_dAlpha`
  - `m_eBlend_src_RGB`
  - `m_eBlend_dst_RGB`
  - `m_eBlend_src_Alpha`
  - `m_eBlend_dst_Alpha`
  - `m_ucTextureApplyingMode`
  - `m_eTextureAlphaTest`
  - `m_dAlphaTestReference`
  - `m_eTextureWrappingModeS`
  - `m_eTextureWrappingModeT`
  - `m_pTextureTransfo`

Variables

A3DUns32 `A3DGraphTextureDefinitionData.``m_uiPictureIndex`
  `A3DUns32`

  Picture index in global data `A3DGlobal`.

A3DUns8 `A3DGraphTextureDefinitionData.``m_ucTextureDimension`
  `A3DUns8`

  Dimension of the texture.

A3DETextureMappingType `A3DGraphTextureDefinitionData.``m_eMappingType`
  `A3DETextureMappingType`

  Mapping type.

A3DETextureMappingOperator `A3DGraphTextureDefinitionData.``m_eMappingOperator`
  `A3DETextureMappingOperator`

  Mapping operator.

A3DMiscCartesianTransformation *`A3DGraphTextureDefinitionData.``m_pOperatorTransfo`
  `A3DMiscCartesianTransformation`*

  Optional mapping transformation.

A3DUns32 `A3DGraphTextureDefinitionData.``m_uiMappingAttributes`
  `A3DUns32`

  Defines a method to map a texture.

  See explanations above.

  > Texture Mapping Attribute

A3DUns32 `A3DGraphTextureDefinitionData.``m_uiMappingAttributesIntensitySize`
  `A3DUns32`

  The size of `m_pdMappingAttributesIntensity`.

A3DDouble *`A3DGraphTextureDefinitionData.``m_pdMappingAttributesIntensity`
  `A3DDouble`*

  Intensities for attributes.

A3DUns32 `A3DGraphTextureDefinitionData.``m_uiMappingAttributesComponentsSize`
  `A3DUns32`

  The size of `m_pucMappingAttributesComponents`.

A3DUns8 *`A3DGraphTextureDefinitionData.``m_pucMappingAttributesComponents`
  `A3DUns8`*

  Components for attributes.

A3DETextureFunction `A3DGraphTextureDefinitionData.``m_eTextureFunction`
  `A3DETextureFunction`

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

  > Texture Function

A3DDouble `A3DGraphTextureDefinitionData.``m_dRed`
  `A3DDouble`

  Reserved for future use.

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

A3DDouble `A3DGraphTextureDefinitionData.``m_dGreen`
  `A3DDouble`

  Reserved for future use.

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

A3DDouble `A3DGraphTextureDefinitionData.``m_dBlue`
  `A3DDouble`

  Reserved for future use.

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

A3DDouble `A3DGraphTextureDefinitionData.``m_dAlpha`
  `A3DDouble`

  Reserved for future use.

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

A3DETextureBlendParameter `A3DGraphTextureDefinitionData.``m_eBlend_src_RGB`
  `A3DETextureBlendParameter`

  Reserved for future use.

  > Texture Blend Parameter

A3DETextureBlendParameter `A3DGraphTextureDefinitionData.``m_eBlend_dst_RGB`
  `A3DETextureBlendParameter`

  Reserved for future use.

  > Texture Blend Parameter

A3DETextureBlendParameter `A3DGraphTextureDefinitionData.``m_eBlend_src_Alpha`
  `A3DETextureBlendParameter`

  Reserved for future use.

  > Texture Blend Parameter

A3DETextureBlendParameter `A3DGraphTextureDefinitionData.``m_eBlend_dst_Alpha`
  `A3DETextureBlendParameter`

  Reserved for future use.

  > Texture Blend Parameter

A3DUns8 `A3DGraphTextureDefinitionData.``m_ucTextureApplyingMode`
  `A3DUns8`

  Defines special applying modes of a texture Texture Applying Mode.

A3DETextureAlphaTest `A3DGraphTextureDefinitionData.``m_eTextureAlphaTest`
  `A3DETextureAlphaTest`

  Reserved for future use.

  Defines how to use Alpha test.

  > Texture Alpha Test

A3DDouble `A3DGraphTextureDefinitionData.``m_dAlphaTestReference`
  `A3DDouble`

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

A3DETextureWrappingMode `A3DGraphTextureDefinitionData.``m_eTextureWrappingModeS`
  `A3DETextureWrappingMode`

  Repeating mode first direction.

  > Texture Wrapping Mode

A3DETextureWrappingMode `A3DGraphTextureDefinitionData.``m_eTextureWrappingModeT`
  `A3DETextureWrappingMode`

  Repeating mode second direction.

  > Texture Wrapping Mode

A3DGraphTextureTransformation *`A3DGraphTextureDefinitionData.``m_pTextureTransfo`
  `A3DGraphTextureTransformation`*

  Optional texture transformation.

  > Texture Transformation

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...