Partager via


ID3DXPRTEngine::ComputeVolumeSamples, méthode

Calcule une projection de l’éclairage direct du rebond de lumière précédent dans des vecteurs de base harmoniques sphériques (SH) qui représentent le rayonnement incident à des emplacements spécifiés.

Syntaxe

HRESULT ComputeVolumeSamples(
  [in]            LPD3DXPRTBUFFER pSurfDataIn,
  [in]            UINT            Order,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Paramètres

pSurfDataIn [in]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet ID3DXPRTBuffer d’entrée qui représente l’objet 3D du rebond de lumière précédent.

Ordre [in]

Type : UINT

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

NumVolSamples.xml [in]

Type : UINT

Nombre d’emplacements d’exemples.

pSampleLocs [in]

Type : const D3DXVECTOR3*

Position de chaque échantillon. Si pSampleLocs a la valeur NULL, ComputeVolumeSamples calcule les matrices de transfert à chaque sommet de maillage. Toutefois, si pSampleLocs n’a pas la valeur NULL, vous devez échantillonner sur une sphère (set UseSphere = TRUE et UseCosine = FALSE dans ID3DXPRTEngine::SetSamplingInfo) ; sinon, ComputeVolumeSamples retourne D3DERR_INVALIDCALL.

pDataOut [in, out]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet ID3DXPRTBuffer de sortie qui projette l’éclairage direct du rebond de lumière précédent dans des vecteurs de base SH. Ce tampon doit avoir le nombre approprié de canaux de couleur alloués pour la simulation.

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

Cette méthode calcule comment la lumière de la fonction de rayonnement source est réfléchie sur la surface qui représente la scène (pSurfDataIn) et arrive à chaque point de l’espace spécifié par pSampleLocs. Les coefficients SH représentent le mappage, à chaque point pSampleLocs, du rayonnement source au rayonnement d’incident transféré.

Spécifications

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

Voir aussi

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH