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 |
|
Bibliothèque |
|
Voir aussi