D3DXComputeIMTFromSignal function
Calculates per-triangle IMT's from a custom application-specified signal that varies over the surface of the mesh (generally at a higher frequency than vertex data). The signal is evaluated via a user-specified callback function.
Syntax
HRESULT D3DXComputeIMTFromSignal(
_In_ LPD3DXMESH pMesh,
_In_ DWORD dwTextureIndex,
_In_ UINT uSignalDimension,
_In_ FLOAT fMaxUVDistance,
_In_ DWORD dwOptions,
_In_ LPD3DXIMTSIGNALCALLBACK pSignalCallback,
_In_ VOID *pUserData,
LPD3DXUVATLASCB pStatusCallback,
LPVOID pUserContext,
_Out_ LPD3DXBUFFER *ppIMTData
);
Parameters
-
pMesh [in]
-
Type: LPD3DXMESH
A pointer to an input mesh (see ID3DXMesh) which contains the object geometry for calculating the IMT.
-
dwTextureIndex [in]
-
Type: DWORD
Zero-based texture coordinate index that identifies which set of texture coordinates to use.
-
uSignalDimension [in]
-
Type: UINT
The number of components in each data point in the signal.
-
fMaxUVDistance [in]
-
Type: FLOAT
The maximum distance between vertices; the algorithm continues subdividing until the distance between all vertices is less than or equal to fMaxUVDistance.
-
dwOptions [in]
-
Type: DWORD
Texture wrap options. This is a combination of one or more D3DXIMT FLAGS.
-
pSignalCallback [in]
-
Type: LPD3DXIMTSIGNALCALLBACK
A pointer to a user-provided evaluator function, which will be used to compute the signal value at arbitrary U,V coordinates. The function follows the prototype of LPD3DXIMTSIGNALCALLBACK.
-
pUserData [in]
-
Type: VOID*
A pointer to a user-defined value which is passed to the signal callback function. Typically used by an application to pass a pointer to a data structure that provides context information for the callback function.
-
pStatusCallback
-
Type: LPD3DXUVATLASCB
A pointer to a callback function to monitor IMT computation progress.
-
pUserContext
-
Type: LPVOID
A pointer to a user-defined variable which is passed to the status callback function. Typically used by an application to pass a pointer to a data structure that provides context information for the callback function.
-
ppIMTData [out]
-
Type: LPD3DXBUFFER*
A pointer to the buffer (see ID3DXBuffer) containing the returned IMT array. This array can be provided as input to the D3DX UVAtlas Functions to prioritize texture-space allocation in the texture parameterization.
Return value
Type: HRESULT
If the function succeeds, the return value is D3D_OK; otherwise, the value is D3DERR_INVALIDCALL.
Remarks
This function requires that the input mesh contain a signal-to-mesh texture mapping (ie. texture coordinates). It allows the user to define a signal arbitrarily over the surface of the mesh.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|
See also