다음을 통해 공유


XMVectorPermute 함수(directxmath.h)

두 벡터의 구성 요소를 permutes하여 새 벡터를 만듭니다.

구문

XMVECTOR XM_CALLCONV XMVectorPermute(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
       uint32_t  PermuteX,
       uint32_t  PermuteY,
       uint32_t  PermuteZ,
       uint32_t  PermuteW
) noexcept;

매개 변수

[in] V1

첫 번째 벡터입니다.

[in] V2

두 번째 벡터입니다.

PermuteX

새 벡터의 X 구성 요소를 복사해야 하는 위치를 나타내는 인덱스 양식 0-7입니다.

PermuteY

새 벡터의 Y 구성 요소를 복사할 위치를 나타내는 인덱스 양식 0-7입니다.

PermuteZ

새 벡터의 Z 구성 요소를 복사할 위치를 나타내는 인덱스 양식 0-7입니다.

PermuteW

새 벡터의 W 구성 요소를 복사할 위치를 나타내는 인덱스 양식 0-7입니다.

반환 값

원본 벡터를 결합하여 생성된 순열된 벡터를 반환합니다.

설명

모든 4개 인덱스가 단일 벡터만 참조하는 경우(즉, 모두 0-3 범위에 있거나 4-7 범위의 모든 벡터에 있음) 성능 향상을 위해 대신 XMVectorSwizzle 을 사용합니다.

XM_PERMUTE_ 상수는 PermuteX, PermuteY, PermuteZ 및 PermuteW에 대한 입력 값으로 사용하도록 제공됩니다.

상수 PermuteX/Y/Z/W 매개 변수의 경우 XMVectorPermute의 템플릿 형식을 사용하는 것이 훨씬 더 효율적입니다.


template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW>
    XMVECTOR XMVectorPermute(FXMVECTOR V1, FXMVECTOR V2)

Example: XMVectorPermute<XM_PERMUTE_0Z, XM_PERMUTE_1X, XM_PERMUTE_0W, XM_PERMUTE_1Y>( V1, V2 );
   
참고 이 버전의 XMVectorPermute DirectXMath는 새로운 버전입니다. XNAMath v2.x 라이브러리는 에 대한 XMVectorPermute인덱스 4개 대신 컨트롤 XMVECTOR 인 를 사용하고 XMVectorPermuteControlXM_PERMUTE_x 상수에 다른 값을 사용했습니다.
 

플랫폼 요구 사항

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

요구 사항

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

추가 정보

구성 요소별 벡터 함수

XMVectorSwizzle