Partager via


Interface ID3DXPRTEngine

L’interface ID3DXPRTEngine est utilisée pour calculer une simulation de transfert de radiance (PRT) précalculée. Ses méthodes sont généralement utilisées hors connexion pour calculer des vecteurs de transfert par sommet ou par texel avant la modélisation 3D en temps réel.

Membres

L’interface ID3DXPRTEngine hérite de l’interface IUnknown. ID3DXPRTEngine a également les types de membres suivants :

Méthodes

L’interface ID3DXPRTEngine utilise ces méthodes.

Méthode Description
ClosestRayIntersects Utilise le suivi de rayons efficace dans les simulations de transfert de radiance (PRT) précalculées pour déterminer si un rayon croise un maillage. Si une intersection est trouvée, la méthode retourne l’index de la face de maillage la plus proche atteinte par le rayon et les coordonnées barycentriques du point d’intersection.
ComputeBounce Calcule le rayonnement source résultant d’un seul rebond de lumière entreréflé. Cette méthode peut être utilisée pour n’importe quelle scène éclairée, y compris un modèle de transfert de radiance précalculé (PRT) harmonique sphérique (SH).
ComputeBounceAdaptive 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).
ComputeDirectLightingSH Calcule la contribution de l’éclairage direct aux objets 3D où le rayonnement source est représenté par une approximation harmonique sphérique (SH).
ComputeDirectLightingSHAdaptive Calcule la contribution de l’éclairage direct aux objets 3D où le rayonnement source est représenté par une approximation harmonique sphérique (SH), à 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é.
ComputeDirectLightingSHGPU Utilise le GPU pour calculer la contribution de l’éclairage direct aux objets 3D où le rayonnement source est représenté par une approximation harmonique sphérique (SH). Le calcul de l’éclairage sur le GPU sera généralement beaucoup plus rapide que sur le processeur.
ComputeLDPRTCoeffs Calcule les coefficients de transfert de rayonnement précalculé (LDPRT) déformables localement par rapport aux vecteurs normaux par échantillon pour réduire l’erreur des moindres carrés par rapport aux données ID3DXPRTBuffer d’entrée. Ces coefficients peuvent être utilisés avec des vecteurs normaux à apparence ou transformés pour modéliser des effets globaux sur des objets dynamiques.
ComputeSS Calcule le rayonnement source résultant de la diffusion de sous-surface, à l’aide des propriétés de matériau définies par ID3DXPRTEngine::SetMeshMaterials. Cette méthode peut être utilisée uniquement pour les matériaux définis par vertex dans un objet de maillage.
ComputeSSAdaptive Calcule un vecteur de transfert qui mappe le rayonnement source à l’éclat de sortie résultant de la diffusion de sous-surface, à l’aide de l’échantillonnage adaptatif et des propriétés de matériau définies par ID3DXPRTEngine::SetMeshMaterials. La 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 uniquement pour les matériaux définis par vertex dans un objet de maillage.
ComputeSurfSamplesBounce Calcule des exemples de transfert de rayonnement précalculé (PRT) pour un point arbitraire (et un vecteur normal).
ComputeSurfSamplesDirectSH Calcule, à un point arbitraire non sur un maillage, un vecteur de transfert qui mappe le rayonnement source (représenté par une approximation harmonique sphérique )) à l’éclat de sortie.
ComputeVolumeSamples 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.
ComputeVolumeSamplesDirectSH Calcule une projection de l’éclairage distant dans des vecteurs de base harmoniques (SH) sphériques qui représentent le rayonnement incident à des emplacements spécifiés.
ExtractPerVertexAlbedo Copie les valeurs d’albédo par sommet à partir d’un maillage.
FreeBounceData Libère la mémoire utilisée pour les données de simulation temporaires de lumière rebondissante.
FreeSSData Libère la mémoire utilisée pour les données temporaires de simulation de diffusion de la lumière sous-surface.
GetAdaptedMesh Retourne un maillage avec des modifications résultant de l’échantillonnage spatial adaptatif. Le maillage retourné contient uniquement les positions, les normales et les coordonnées de texture (s’ils sont définis).
GetNumFaces Récupère le nombre de visages dans le maillage, y compris les nouveaux visages ajoutés à la suite de l’échantillonnage spatial adaptatif.
GetNumVerts Récupère le nombre de sommets dans le maillage, y compris les nouveaux sommets ajoutés à la suite de l’échantillonnage spatial adaptatif.
GetVertexAlbedo Récupère les valeurs albedo des sommets de maillage.
MultiplyAlbedo Multiplie chaque vecteur de transfert de radiance (PRT) précalculé par l’albédo par vertex.
ResampleBuffer Rééchantillonne une mémoire tampon ID3DXPRTBuffer d’entrée et l’enregistre dans une mémoire tampon de sortie. Cette méthode peut être utilisée pour convertir une mémoire tampon de vertex en mémoire tampon de texture et vice versa. Il peut également être utilisé pour convertir des mémoires tampons à canal unique en mémoires tampons à 3 canaux et vice versa.
RobustMeshRefine Subdivise les visages sur un maillage, ce qui permet un échantillonnage adaptatif conservateur qui n’élimine pas les caractéristiques du maillage.
ScaleMeshChunk Met à l’échelle tous les exemples associés à un sous-fichier donné. La méthode est utile pour calculer la diffusion de sous-surface.
SetCallBack Définit un pointeur vers une fonction de rappel facultative qui calcule le pourcentage de calculs harmoniques sphériques (SH) terminés et donne à l’appelant la possibilité d’arrêter le simulateur.
SetMeshMaterials Définit les propriétés du matériau de maillage dans la scène 3D. Utilisez cette méthode pour spécifier les paramètres de diffusion de sous-surface.
SetMinMaxIntersection Définit les distances minimales et maximales d’intersection entre les objets 3D. Ces valeurs de distance peuvent être utilisées pour contrôler la distance minimale ou maximale que les objets peuvent ombrage ou refléter la lumière. Par exemple, la méthode peut être utilisée pour limiter l’ombre des caractéristiques proches d’un modèle 3D.
SetPerTexelAlbedo Définit une valeur albedo pour chaque texel, en remplaçant les valeurs albedo précédentes.
SetPerTexelNormal Définit un vecteur normal pour chaque texel dans un objet de texture. Cette méthode est utilisée pour stocker des vecteurs normaux de vertex à partir d’un maillage (ou des normales de vertex interpolées si le transfert de rayonnement précalculé basé sur des pixels (PRT) est en cours de calcul).
SetPerVertexAlbedo Définit une valeur albedo pour chaque vertex de maillage, en remplaçant les valeurs albedo précédentes.
SetSamplingInfo Définit les propriétés d’échantillonnage utilisées par le simulateur de transfert de rayonnement (PRT) précalculé.
ShadowRayIntersects Utilise le suivi de rayons efficace dans les simulations de transfert de radiance (PRT) précalculées pour déterminer si un rayon croise un maillage. Généralement utilisé pour déterminer si un point donné est dans l’ombre.

 

Notes

Pour convertir des valeurs RVB en luminance, la formule suivante est utilisée :

Luminance = R * 0.2125 + G * 0.7154 + B * 0.0721

L’interface ID3DXPRTEngine est obtenue en appelant la fonction D3DXCreatePRTEngine.

Le type LPD3DXPRTENGINE est défini comme pointeur vers l’interface ID3DXPRTEngine .

typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;

Spécifications

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

Voir aussi

D3DX Interfaces

D3DXCreatePRTEngine

Transfert de rayonnement précalculé (Direct3D 9)