다음을 통해 공유


XMVectorSwizzle 함수(directxmath.h)

벡터를 스위즐합니다.

구문

XMVECTOR XM_CALLCONV XMVectorSwizzle(
  [in] FXMVECTOR V,
  [in] uint32_t  E0,
  [in] uint32_t  E1,
  [in] uint32_t  E2,
  [in] uint32_t  E3
) noexcept;

매개 변수

[in] V

스위즐할 벡터입니다.

[in] E0

스위즐된 벡터의 x 구성 요소에 배치할 V 의 구성 요소를 설명하는 인덱스입니다. 값 0은 x 구성 요소를 선택하고, 1은 y 구성 요소를 선택하고, 2는 z 구성 요소를 선택하고, 3은 w 구성 요소를 선택합니다.

[in] E1

스위즐된 벡터의 y 구성 요소에 배치할 V 의 구성 요소를 설명하는 인덱스입니다. 값 0은 x 구성 요소를 선택하고, 1은 y 구성 요소를 선택하고, 2는 z 구성 요소를 선택하고, 3은 w 구성 요소를 선택합니다.

[in] E2

스위즐된 벡터의 z 구성 요소에 배치할 V 의 구성 요소를 설명하는 인덱스입니다. 값 0은 x 구성 요소를 선택하고, 1은 y 구성 요소를 선택하고, 2는 z 구성 요소를 선택하고, 3은 w 구성 요소를 선택합니다.

[in] E3

스위즐된 벡터의 w 구성 요소에 배치할 V 의 구성 요소를 설명하는 인덱스입니다. 값 0은 x 구성 요소를 선택하고, 1은 y 구성 요소를 선택하고, 2는 z 구성 요소를 선택하고, 3은 w 구성 요소를 선택합니다.

반환 값

스위즐된 XMVECTOR를 반환합니다.

설명

다음 코드에서는 이 함수를 사용하는 방법을 보여 줍니다.

XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );

스위즐된 벡터(결과) <는 40.0f, 40.0f, 10.0f, 30.0f>입니다.

XM_SWIZZLE_X, XM_SWIZZLE_Y, XM_SWIZZLE_Z, 및 XM_SWIZZLE_W각각 XMVectorSwizzle에 사용하기 위해 0, 1, 2 및 3으로 계산되는 상수입니다. 이 값은 , , XM_PERMUTE_0YXM_PERMUTE_0Z및 와 XM_PERMUTE_0W동일합니다XM_PERMUTE_0X.

상수 인덱스(E0, E1, E2, E3)의 경우 XMVectorSwizzle의 템플릿 형식을 사용하는 것이 훨씬 더 효율적입니다.


template<uint32_t SwizzleX, uint32_t SwizzleY, uint32_t SwizzleZ, uint32_t SwizzleW>
    XMVECTOR XMVectorSwizzle(FXMVECTOR V)

Example: XMVectorSwizzle< 3, 3, 0, 2>(v);
   

플랫폼 요구 사항

Windows 8용 Windows SDK를 사용하는 Microsoft Visual Studio 2010 또는 Microsoft Visual Studio 2012. Win32 데스크톱 앱, Windows 스토어 앱 및 Windows Phone 8개 앱에서 지원됩니다.

요구 사항

   
대상 플랫폼 Windows
헤더 directxmath.h(DirectXMath.h 포함)

추가 정보

구성 요소별 벡터 함수

XMVectorPermute