D3DXPlaneTransform-Funktion (D3dx9math.h)
Hinweis
Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.
Transformiert eine Ebene durch eine Matrix. Die Eingabematrix ist die umgekehrte Transponierung der eigentlichen Transformation.
Syntax
D3DXPLANE* D3DXPlaneTransform(
_Inout_ D3DXPLANE *pOut,
_In_ const D3DXPLANE *pP,
_In_ const D3DXMATRIX *pM
);
Parameter
-
pOut [in, out]
-
Typ: D3DXPLANE*
Zeiger auf die D3DXPLANE-Struktur , die die resultierende transformierte Ebene enthält. Weitere Informationen sind im Beispiel enthalten.
-
pP [in]
-
Typ: const D3DXPLANE*
Zeiger auf die D3DXPLANE-Eingabestruktur , die die ebene enthält, die transformiert wird. Der Vektor (a,b,c), der die Ebene beschreibt, muss normalisiert werden, bevor diese Funktion aufgerufen wird. Weitere Informationen sind im Beispiel enthalten.
-
pM [in]
-
Typ: const D3DXMATRIX*
Zeiger auf die D3DXMATRIX-Quellstruktur , die die Transformationswerte enthält. Diese Matrix muss die umgekehrte Transponierung der Transformationswerte enthalten.
Rückgabewert
Typ: D3DXPLANE*
Zeiger auf eine D3DXPLANE-Struktur , die die transformierte Ebene darstellt. Dies ist der gleiche Wert, der im pOut-Parameter zurückgegeben wird, sodass diese Funktion als Parameter für eine andere Funktion verwendet werden kann.
Bemerkungen
Beispiele
In diesem Beispiel wird eine Ebene transformiert, indem eine nicht einheitliche Skalierung angewendet wird.
D3DXPLANE planeNew;
D3DXPLANE plane(0,1,1,0);
D3DXPlaneNormalize(&plane, &plane);
D3DXMATRIX matrix;
D3DXMatrixScaling(&matrix, 1.0f,2.0f,3.0f);
D3DXMatrixInverse(&matrix, NULL, &matrix);
D3DXMatrixTranspose(&matrix, &matrix);
D3DXPlaneTransform(&planeNew, &plane, &matrix);
Eine Ebene wird durch ax + by + cz + dw = 0 beschrieben. Die erste Ebene wird mit (a,b,c,d) = (0,1,1,0) erstellt, wobei es sich um eine Ebene handelt, die durch y + z = 0 beschrieben wird. Nach der Skalierung enthält die neue Ebene (a,b,c,d) = (0, 0,353f, 0,235f, 0), die die neue Ebene zeigt, die durch 0,353y + 0,235z = 0 beschrieben werden soll.
Der Parameter pM enthält die umgekehrte Transponierung der Transformationsmatrix. Die umgekehrte Transponierung ist für diese Methode erforderlich, damit auch der normale Vektor der transformierten Ebene korrekt transformiert werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch