Partager via


ID3DXPRTEngine::ComputeLDPRTCoeffs, méthode

Calcule les coefficients de transfert de rayonnement précomputables localement (LDPRT) par rapport aux vecteurs normaux par échantillon afin de réduire l’erreur des moindres carrés en ce qui concerne les données ID3DXPRTBuffer d’entrée. Ces coefficients peuvent être utilisés avec des vecteurs normaux écornés ou transformés pour modéliser des effets globaux sur des objets dynamiques.

Syntaxe

HRESULT ComputeLDPRTCoeffs(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      UINT            Order,
  [in, out] D3DXVECTOR3     *pNormOut,
  [in, out] LPD3DXPRTBUFFER pDataOut
);

Paramètres

pDataIn [in]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet de données de transfert de rayonnement précalculé sphérique harmonique (SH) ID3DXPRTBuffer d’entrée.

Ordre [in]

Type : UINT

Ordre de l’évaluation sh. Doit être dans la plage de D3DXSH_MINORDER à D3DXSH_MAXORDER, inclusif. L’évaluation génère des coefficients Order². Le degré de l’évaluation est Order - 1.

pNormOut [in, out]

Type : D3DXVECTOR3*

Tableau de vecteurs facultatif à remplir avec des vecteurs normaux optimaux du nuanceur pour lesquels les coefficients LDPRT sont optimisés. Ce tableau doit avoir la même taille que le nombre d’exemples dans pDataIn. Si la valeur est NULL, les vecteurs normaux de surface sont utilisés.

pDataOut [in, out]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet ID3DXPRTBuffer de sortie qui contient des coefficients harmoniques zonaux Order par canal de couleur par exemple.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Notes

Des solutions pour l’ombrage des vecteurs normaux peuvent éventuellement être obtenues avec cette méthode. Ces vecteurs normaux, ainsi que les coefficients LDPRT, peuvent représenter plus précisément le signal PRT. Dans ce cas, les coefficients représentent des harmoniques zonales orientées dans le sens normal.

Cette méthode ne peut pas être utilisée avec les résultats de ID3DXPRTEngine::ComputeSurfSamplesBounce ou ID3DXPRTEngine::ComputeSurfSamplesDirectSH.

Spécifications

Condition requise Valeur
En-tête
D3DX9Mesh.h
Bibliothèque
D3dx9.lib

Voir aussi

ID3DXPRTEngine