다음을 통해 공유


XMStoreColor 함수(directxpackedvector.h)

XMCOLOR에 XMVECTOR를 저장합니다.

구문

void XM_CALLCONV XMStoreColor(
  [out] XMCOLOR   *pDestination,
  [in]  FXMVECTOR V
) noexcept;

매개 변수

[out] pDestination

데이터를 저장할 주소입니다.

[in] V

저장할 데이터를 포함하는 벡터입니다. X는 빨간색 채널을 포함하고, Y에는 녹색, Z 파랑 및 W 알파 채널이 포함되어 있습니다.

반환 값

없음

설명

함수는 벡터를 가져와 0.0f에서 1.0f 범위로 고정하고, 구성 요소를 부호 없는 정규화된 정수 형식으로 변환하고, 구성 요소를 32비트 정수로 압축하고, 결과를 지정된 주소에 씁니다. 가장 중요한 구성 요소는 정수의 두 번째로 중요한 8비트 등에 기록됩니다.

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

XMVector N;

N = saturate(V);
N = scale(N, 255.0f);
N = round(N);

pDestination->c = ((uint32_t)N.w << 24) |
                  ((uint32_t)N.x << 16) |
                  ((uint32_t)N.y << 8) |
                  ((uint32_t)N.z);

Direct3D 10.x 및 Direct3D 11의 경우 float ColorRGBA[4] 매개 변수를 사용하는 함수의 구성 요소 순서와 일치합니다.


 XMVECTOR Yellow = XMVectorSet( 1.0f, 1.0f, 0.0f, 1.0f );

 XMFLOAT4 clrf;
 XMStoreFloat4( &clrf, Yellow );
 pDeviceContext->ClearRenderTargetView( pRTV, (const float*)clrf );

플랫폼 요구 사항

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

요구 사항

   
대상 플랫폼 Windows
헤더 directxpackedvector.h(DirectXPackedVector.h 포함)

추가 정보

DirectXMath 라이브러리 벡터 저장소 함수