Skip to content

Commit 332fb99

Browse files
committed
Minor comment and parameter update to make it clear XMPlaneTransform(Stream) expects the inverse transpose
1 parent 581534e commit 332fb99

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

Inc/DirectXMath.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,11 +1559,15 @@ namespace DirectX
15591559
XMVECTOR XM_CALLCONV XMPlaneNormalize(FXMVECTOR P) noexcept;
15601560
XMVECTOR XM_CALLCONV XMPlaneIntersectLine(FXMVECTOR P, FXMVECTOR LinePoint1, FXMVECTOR LinePoint2) noexcept;
15611561
void XM_CALLCONV XMPlaneIntersectPlane(_Out_ XMVECTOR* pLinePoint1, _Out_ XMVECTOR* pLinePoint2, _In_ FXMVECTOR P1, _In_ FXMVECTOR P2) noexcept;
1562-
XMVECTOR XM_CALLCONV XMPlaneTransform(FXMVECTOR P, FXMMATRIX M) noexcept;
1563-
XMFLOAT4* XM_CALLCONV XMPlaneTransformStream(_Out_writes_bytes_(sizeof(XMFLOAT4) + OutputStride * (PlaneCount - 1)) XMFLOAT4* pOutputStream,
1562+
1563+
// Transforms a plane given an inverse transpose matrix
1564+
XMVECTOR XM_CALLCONV XMPlaneTransform(FXMVECTOR P, FXMMATRIX ITM) noexcept;
1565+
1566+
// Transforms an array of planes given an inverse transpose matrix
1567+
XMFLOAT4* XM_CALLCONV XMPlaneTransformStream(_Out_writes_bytes_(sizeof(XMFLOAT4) + OutputStride * (PlaneCount - 1)) XMFLOAT4* pOutputStream,
15641568
_In_ size_t OutputStride,
15651569
_In_reads_bytes_(sizeof(XMFLOAT4) + InputStride * (PlaneCount - 1)) const XMFLOAT4* pInputStream,
1566-
_In_ size_t InputStride, _In_ size_t PlaneCount, _In_ FXMMATRIX M) noexcept;
1570+
_In_ size_t InputStride, _In_ size_t PlaneCount, _In_ FXMMATRIX ITM) noexcept;
15671571

15681572
XMVECTOR XM_CALLCONV XMPlaneFromPointNormal(FXMVECTOR Point, FXMVECTOR Normal) noexcept;
15691573
XMVECTOR XM_CALLCONV XMPlaneFromPoints(FXMVECTOR Point1, FXMVECTOR Point2, FXMVECTOR Point3) noexcept;

Inc/DirectXMathMisc.inl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,39 +1217,39 @@ inline void XM_CALLCONV XMPlaneIntersectPlane
12171217
inline XMVECTOR XM_CALLCONV XMPlaneTransform
12181218
(
12191219
FXMVECTOR P,
1220-
FXMMATRIX M
1220+
FXMMATRIX ITM
12211221
) noexcept
12221222
{
12231223
XMVECTOR W = XMVectorSplatW(P);
12241224
XMVECTOR Z = XMVectorSplatZ(P);
12251225
XMVECTOR Y = XMVectorSplatY(P);
12261226
XMVECTOR X = XMVectorSplatX(P);
12271227

1228-
XMVECTOR Result = XMVectorMultiply(W, M.r[3]);
1229-
Result = XMVectorMultiplyAdd(Z, M.r[2], Result);
1230-
Result = XMVectorMultiplyAdd(Y, M.r[1], Result);
1231-
Result = XMVectorMultiplyAdd(X, M.r[0], Result);
1228+
XMVECTOR Result = XMVectorMultiply(W, ITM.r[3]);
1229+
Result = XMVectorMultiplyAdd(Z, ITM.r[2], Result);
1230+
Result = XMVectorMultiplyAdd(Y, ITM.r[1], Result);
1231+
Result = XMVectorMultiplyAdd(X, ITM.r[0], Result);
12321232
return Result;
12331233
}
12341234

12351235
//------------------------------------------------------------------------------
12361236
_Use_decl_annotations_
12371237
inline XMFLOAT4* XM_CALLCONV XMPlaneTransformStream
12381238
(
1239-
XMFLOAT4* pOutputStream,
1239+
XMFLOAT4* pOutputStream,
12401240
size_t OutputStride,
12411241
const XMFLOAT4* pInputStream,
12421242
size_t InputStride,
12431243
size_t PlaneCount,
1244-
FXMMATRIX M
1244+
FXMMATRIX ITM
12451245
) noexcept
12461246
{
12471247
return XMVector4TransformStream(pOutputStream,
12481248
OutputStride,
12491249
pInputStream,
12501250
InputStride,
12511251
PlaneCount,
1252-
M);
1252+
ITM);
12531253
}
12541254

12551255
//------------------------------------------------------------------------------

0 commit comments

Comments
 (0)