다음을 통해 공유


XMVectorPermute 템플릿

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

구문

template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW> XMVECTOR XMVectorPermute(
  [in]  XMVECTOR V1,
  [in]  XMVECTOR V2
);

매개 변수

V1

[in] 첫 번째 벡터입니다.

V2

[in] 두 번째 벡터입니다.

반환 값

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

설명

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

라이브러리는 성능을 향상시키기 위해 일부 플랫폼에서 템플릿 전문화를 사용합니다. 이러한 특수 사례에 대해 가능한 모든 미러 사례가 구현되는 것은 아니므로 결과 벡터의 X 요소가 V2 매개 변수가 아닌 V1 매개 변수에서 제공되는 permutes를 선호합니다. 예를 들어 를 사용하는 XMVectorPermute<0,1,4,5>(A,B); 것이 좋습니다 XMVectorPermute(4,5,0,1)(B,A);.

이 함수는 Permute* 인수가 템플릿 값인 XMVectorPermute의 템플릿 버전입니다.

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

참고

템플릿은 XMVectorPermute DirectXMath의 새로운 템플릿이며 XNAMath 2.x에서는 사용할 수 없습니다.

 

네임스페이스: DirectX 사용

플랫폼 요구 사항

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

요구 사항

요구 사항
헤더
DirectXMath.h

추가 정보

DirectXMath 라이브러리 템플릿 함수

XMVectorSwizzle