ID3DXPRTEngine :: ComputeDirectLightingSHGPU, méthode

Utilise le GPU pour calculer la contribution de l’éclairage direct aux objets 3D où le luminance source est représenté par une approximation de l’harmonique sphérique (SH). Le calcul de l’éclairage sur le GPU sera généralement beaucoup plus rapide que sur le processeur.

Syntaxe

HRESULT ComputeDirectLightingSHGPU(
  [in]      LPDIRECT3DDEVICE9 pDevice,
  [in]      UINT              Flags,
  [in]      UINT              Order,
  [in]      FLOAT             ZBias,
  [in]      FLOAT             ZAngleBias,
  [in, out] LPD3DXPRTBUFFER   pDataOut
);

Paramètres

pDevice [ dans]

Type : LPDIRECT3DDEVICE9

Pointeur vers l’objet d’appareil IDirect3DDevice9 utilisé pour exécuter la simulation sur le GPU. L’appareil doit prendre en charge les nuanceurs de pixels PS _ 2 _ 0 .

Notes

Les fonctions de rappel ne doivent pas utiliser l’objet d’appareil IDirect3DDevice9 utilisé par le simulateur GPU.

Indicateurs [ dans]

Type : uint

Paramètre de simulation GPU qui définit la résolution de la mémoire tampon z de l’ombre. Doit être défini sur l’une des valeurs constantes de D3DXSHGPUSIMOPT. Pour spécifier une simulation de précision plus élevée, la _ valeur highquality D3DXSHGPUSIMOPT peut être combinée avec l’une des _ valeurs SHADOWRESxxx D3DXSHGPUSIMOPT.

Commande [ dans]

Type : uint

Ordre de l’évaluation SH. La valeur doit être comprise entre D3DXSH _ MINORDER et D3DXSH _ MAXORDER, inclus. L’évaluation génère des coefficients de commande ². Le degré de l’évaluation est Order-1.

ZBias [ dans]

Type : float

Décalage dans la direction normale.

ZAngleBias [ dans]

Type : float

Décalage dans la direction normale, mis à l’échelle d’un moins le cosinus de l’angle avec le rayon de la lumière.

pDataOut [ in, out]

Type : LPD3DXPRTBUFFER

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

Valeur de retour

Type : HRESULT

Si la méthode est réussie, 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

Dans cette méthode, le Albedo n’est pas multiplié par le signal lumineux, et seule la lumière entrante est intégrée dans le simulateur. En ne multipliant pas Albedo, vous pouvez modéliser la variation Albedo à une échelle plus fine que le luminance source, ce qui donne des résultats plus précis de la compression.

Appelez MultiplyAlbedo pour multiplier chaque vecteur de transfert luminance (PRT) précalculé par le Albedo.

Spécifications

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

Voir aussi

ID3DXPRTEngine