다음을 통해 공유


XMVectorSelectControl 함수(directxmath.h)

XMVectorSelect에서 사용할 컨트롤 벡터를 정의합니다.

구문

XMVECTOR XM_CALLCONV XMVectorSelectControl(
  [in] uint32_t VectorIndex0,
  [in] uint32_t VectorIndex1,
  [in] uint32_t VectorIndex2,
  [in] uint32_t VectorIndex3
) noexcept;

매개 변수

[in] VectorIndex0

XMVectorSelect에서 선택할 벡터를 결정하는 인덱스입니다. 0이면 첫 번째 벡터의 첫 번째 구성 요소가 선택됩니다. 그렇지 않으면 두 번째 벡터의 구성 요소가 선택됩니다.

[in] VectorIndex1

XMVectorSelect에서 선택할 벡터를 결정하는 인덱스입니다. 0이면 첫 번째 벡터의 두 번째 구성 요소가 선택됩니다. 그렇지 않으면 두 번째 벡터의 구성 요소가 선택됩니다.

[in] VectorIndex2

XMVectorSelect에서 선택할 벡터를 결정하는 인덱스입니다. 0이면 첫 번째 벡터의 세 번째 구성 요소가 선택됩니다. 그렇지 않으면 두 번째 벡터의 구성 요소가 선택됩니다.

[in] VectorIndex3

XMVectorSelect에서 선택할 벡터를 결정하는 인덱스입니다. 0이면 첫 번째 벡터의 네 번째 구성 요소가 선택됩니다. 그렇지 않으면 두 번째 벡터의 구성 요소가 선택됩니다.

반환 값

컨트롤 벡터를 반환합니다.

설명

다음 의사 코드는 함수의 작업을 보여 줍니다.

XMVECTOR    ControlVector;
const uint32_t  ControlElement[] =
            {
                XM_SELECT_0,
                XM_SELECT_1
            };

assert(VectorIndex0 < 2);
assert(VectorIndex1 < 2);
assert(VectorIndex2 < 2);
assert(VectorIndex3 < 2);

ControlVector.u[0] = ControlElement[VectorIndex0];
ControlVector.u[1] = ControlElement[VectorIndex1];
ControlVector.u[2] = ControlElement[VectorIndex2];
ControlVector.u[3] = ControlElement[VectorIndex3];

return ControlVector;

플랫폼 요구 사항

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

예제

XMVectorSelectControl 사용

이 예제에서 XMVectorSelectControl 은 첫 번째 벡터에서 x 및 w 구성 요소를 선택하고 두 번째 벡터의 y 및 z 구성 요소를 선택하는 컨트롤 마스크를 생성하는 데 사용됩니다.

벡터 결과는 ( 3.0f, 5.0f, 5.0f, 3.0f )입니다.

XMVECTOR three = XMVectorReplicate( 3.0f );
XMVECTOR five = XMVectorReplicate( 5.0f );

XMVECTOR control = XMVectorSelectControl( 0, 1, 1, 0 );
XMVECTOR result = XMVectorSelect( three, five, control );

요구 사항

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

추가 정보

구성 요소별 벡터 함수

XMVectorSelect