XMVector3TransformNormalStream

Transforms a stream of 3D normal vectors by a given matrix.

Syntax

XMFLOAT3* XMVector3TransformNormalStream(
         XMFLOAT3 *pOutputStream,
         size_t OutputStride,
         const XMFLOAT3 *pInputStream,
         size_t InputStride,
         size_t VectorCount,
         CXMMATRIX M
)  

Parameters

pOutputStream
Type: XMFLOAT3 *

[out]

Address of the first XMFLOAT3 in the destination stream.

OutputStride
Type: size_t 

[in]

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

pInputStream
Type: XMFLOAT3 *

[in]

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

InputStride
Type: size_t 

[in]

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

VectorCount
Type: size_t 

[in]

Number of vectors to transform.

M
Type: CXMMATRIX 

[in]

Transformation matrix.

Return value

Type: XMFLOAT3 *

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

Remarks

Each vector in the input stream must be normalized.

XMVector3TransformNormalStream performs transformations using the input matrix rows 0, 1, and 2 for rotation and scaling, and ignores row 3.

Requirements

Header: Declared in directxmath.h.