D3DXMatrixPerspectiveFovRH, fonction (D3dx9math.h)
Notes
La bibliothèque utilitaire D3DX est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
Crée une matrice de projection de perspective pour un système droitier en fonction d’un champ de vue.
Syntaxe
D3DXMATRIX* D3DXMatrixPerspectiveFovRH(
_Inout_ D3DXMATRIX *pOut,
_In_ FLOAT fovy,
_In_ FLOAT Aspect,
_In_ FLOAT zn,
_In_ FLOAT zf
);
Paramètres
-
pOut [in, out]
-
Type : D3DXMATRIX*
Pointeur vers la structure D3DXMATRIX qui est le résultat de l’opération.
-
fovy [in]
-
Type : FLOAT
Champ de vision dans la direction y, en radians.
-
Aspect [in]
-
Type : FLOAT
Proportions, définie comme largeur d’espace d’affichage divisée par hauteur.
-
zn [in]
-
Type : FLOAT
Valeur Z du plan de vue proche.
-
zf [in]
-
Type : FLOAT
Valeur Z du plan de vue lointaine.
Valeur retournée
Type : D3DXMATRIX*
Pointeur vers une structure D3DXMATRIX qui est une matrice de projection de perspective pour droitier.
Notes
La valeur de retour pour cette fonction est la même valeur retournée dans le paramètre pOut . De cette façon, la fonction D3DXMatrixPerspectiveFovRH peut être utilisée comme paramètre pour une autre fonction.
Pour modifier l’axe des proportions, utilisez la formule de calcul : fovy = 2 * math.atan(math.tan(fovy * 0,5) / aspect). Vous pouvez également ajouter des variables de proportions X et Y dans la structure pour mettre à l’échelle l’espace d’affichage vertical : fovy = 2 * math.atan(math.tan(fovy * 0.5) / aspectY), aspect = aspectX * aspect Y.
Cette fonction calcule la matrice retournée comme indiqué.
xScale 0 0 0
0 yScale 0 0
0 0 zf/(zn-zf) -1
0 0 zn*zf/(zn-zf) 0
where:
yScale = cot(fovY/2)
xScale = yScale / aspect ratio
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi