XMVector2TransformStream function (directxmath.h)

Transforms a stream of 2D vectors by a given matrix.


XMFLOAT4 *XM_CALLCONV XMVector2TransformStream(
  [out] XMFLOAT4       *pOutputStream,
  [in]  size_t         OutputStride,
  [in]  const XMFLOAT2 *pInputStream,
  [in]  size_t         InputStride,
  [in]  size_t         VectorCount,
  [in]  FXMMATRIX      M
) noexcept;


[out] pOutputStream

Address of the first XMFLOAT4 in the destination stream.

[in] OutputStride

Stride, in bytes, between vectors in the destination stream.

[in] pInputStream

Address of the first XMFLOAT2 in the stream to be transformed.

[in] InputStride

Stride, in bytes, between vectors in the input stream.

[in] VectorCount

Number of vectors to transform.

[in] M

Transformation matrix.

Return value

Returns the address of the first XMFLOAT4 in the destination stream.


XMVector2TransformStream performs transformations by using the input matrix rows 0 and 1 for rotation and scaling, and row 3 for translation (effectively assuming row 2 is 0). The w component of the input vector is assumed to be 0. The z component of the output vector should be ignored and its w component may be non-homogeneous (!= 1.0).

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.


Target Platform Windows
Header directxmath.h (include DirectXMath.h)

See also

DirectXMath Library 2D Vector Transformation Functions