Partager via


ID3DXPRTEngine::ComputeBounceAdaptive, méthode

Calcule le rayonnement source résultant d’un seul rebond de lumière entreréflé, à l’aide de l’échantillonnage adaptatif. Cette méthode génère de nouveaux sommets et faces sur le maillage pour se rapprocher plus précisément du signal de transfert de radiance (PRT) précalculé. Cette méthode peut être utilisée pour n’importe quelle scène éclairée, y compris un modèle PRT basé sur des harmoniques sphériques (SH).

Syntaxe

HRESULT ComputeBounceAdaptive(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      FLOAT           AdaptiveThresh,
  [in]      FLOAT           MinEdgeLength,
  [in]      UINT            MaxSubdiv,
  [in, out] LPD3DXPRTBUFFER pDataOut,
  [in, out] LPD3DXPRTBUFFER pDataTotal
);

Paramètres

pDataIn [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. Ce tampon d’entrée doit avoir le nombre approprié de canaux de couleur alloués pour la simulation.

AdaptiveThresh [in]

Type : FLOAT

Seuil sur le vecteur PRT à utiliser pour subdivisant les sommets et les faces de maillage. Si elle est inférieure à 1e-6f, une valeur par défaut de 1e-6f est spécifiée.

MinEdgeLength [in]

Type : FLOAT

Longueur minimale des bords de face qui sera générée dans l’échantillonnage adaptatif. Si la méthode détermine que la valeur est trop petite, une valeur dépendante du modèle est spécifiée. Si zéro, une valeur par défaut de 4 est spécifiée.

MaxSubdiv [in]

Type : UINT

Niveau maximal de subdivision d’un visage qui sera utilisé dans l’échantillonnage adaptatif.

pDataOut [in, out]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet ID3DXPRTBuffer de sortie. Ce tampon de sortie doit avoir le nombre approprié de canaux de couleur alloués pour la simulation.

pDataTotal [in, out]

Type : LPD3DXPRTBUFFER

Pointeur vers un objet ID3DXPRTBuffer facultatif qui conserve une somme en cours d’exécution de pDataOut à chaque calcul de rebond de lumière. Peut être NULL.

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.

Spécifications

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

Voir aussi

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine