Partager via


Fonction XMVector3UnprojectStream (directxmath.h)

Transforme un flux de vecteurs 3D de l’espace d’écran en espace objet.

Syntaxe

XMFLOAT3 *XM_CALLCONV XMVector3UnprojectStream(
  [out] XMFLOAT3       *pOutputStream,
  [in]  size_t         OutputStride,
  [in]  const XMFLOAT3 *pInputStream,
  [in]  size_t         InputStride,
  [in]  size_t         VectorCount,
  [in]  float          ViewportX,
  [in]  float          ViewportY,
  [in]  float          ViewportWidth,
  [in]  float          ViewportHeight,
  [in]  float          ViewportMinZ,
  [in]  float          ViewportMaxZ,
  [in]  FXMMATRIX      Projection,
  [in]  CXMMATRIX      View,
  [in]  CXMMATRIX      World
) noexcept;

Paramètres

[out] pOutputStream

Adresse du premier XMFLOAT3 dans le flux de destination.

[in] OutputStride

Stride, en octets, entre les vecteurs dans le flux de destination.

[in] pInputStream

Adresse du premier XMFLOAT3 dans le flux à transformer. X,Y sont en pixels, tandis que Z est de 0,0 (à ViewportMinZ) à 1.0 (dans ViewportMaxZ).

[in] InputStride

Stride, en octets, entre les vecteurs dans le flux d’entrée.

[in] VectorCount

Nombre de vecteurs à transformer.

[in] ViewportX

Coordonnées de pixels du coin supérieur gauche de la fenêtre d’affichage. Sauf si vous souhaitez effectuer un rendu sur un sous-ensemble de la surface, ce paramètre peut être défini sur 0.

[in] ViewportY

Coordonnées de pixels du coin supérieur gauche de la fenêtre d’affichage sur la surface cible de rendu. Sauf si vous souhaitez effectuer un rendu sur un sous-ensemble de la surface, ce paramètre peut être défini sur 0.

[in] ViewportWidth

Dimension de largeur du volume de l’élément, en pixels. Sauf si vous effectuez un rendu uniquement sur un sous-ensemble de la surface, ce paramètre doit être défini sur la dimension de largeur de la surface cible de rendu.

[in] ViewportHeight

Dimension de hauteur du volume de l’élément, en pixels. Sauf si vous effectuez un rendu uniquement sur un sous-ensemble de la surface, ce paramètre doit être défini sur la dimension de hauteur de la surface cible de rendu.

[in] ViewportMinZ

Avec ViewportMaxZ, valeur décrivant la plage de valeurs de profondeur dans laquelle une scène doit être affichée, les valeurs minimales et maximales du volume de clip. La plupart des applications définissent cette valeur sur 0,0f. Le découpage est effectué après l’application de la matrice de projection.

[in] ViewportMaxZ

Avec MinZ, valeur décrivant la plage de valeurs de profondeur dans laquelle une scène doit être affichée, les valeurs minimales et maximales du volume de clip. La plupart des applications définissent cette valeur sur 1.0f. Le découpage est effectué après l’application de la matrice de projection.

[in] Projection

Matrice de projection.

[in] View

Matrice d’affichage.

[in] World

Matrice mondiale.

Valeur retournée

Retourne l’adresse du premier XMFLOAT3 dans le flux de destination.

Notes

Les paramètres ViewportX, ViewportY, ViewportWidth et ViewportHeight décrivent la position et les dimensions de la fenêtre d’affichage sur la surface cible de rendu. Généralement, les applications s’affichent sur l’ensemble de la surface cible ; lors du rendu sur une surface 640*480, ces paramètres doivent être 0, 0, 640 et 480, respectivement. ViewportMinZ et ViewportMaxZ sont généralement définis sur 0.0f et 1.0f, mais peuvent être définis sur d’autres valeurs pour obtenir des effets spécifiques.

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Spécifications

   
Plateforme cible Windows
En-tête directxmath.h (inclure DirectXMath.h)

Voir aussi

Fonctions de transformation vectorielle 3D de la bibliothèque DirectXMath

XMVector3Unproject