다음을 통해 공유


XMXDECN4::XMXDECN4(constfloat*) 함수(directxpackedvector.h)

4개의 요소 float 배열 인수에서 XMXDECN4 새 instance 초기화합니다.

이 생성자는 4개의 요소 float 배열 인수에서 XMXDECN4 새 instance 초기화합니다.

참고 이 생성자는 C++에서만 사용할 수 있습니다.

구문

void XMXDECN4(
  const float *pArray
) noexcept;

매개 변수

pArray

XMXDECN4 새 instance 4개의 구성 요소를 초기화하는 데 사용되는 값을 포함하는 4개의 요소 부동 소수점 배열입니다.

반환 값

없음

설명

배열 요소는 다음과 같이 XMXDECN4 새 instance 벡터 구성 요소에 매핑됩니다.

벡터 구성 요소 Array 요소 범위 Description
x pArray[0] -0.0, 1.0 인스턴스화 중에 pArray[0]은 -1과 1 사이에 고정되고 511.0f를 곱하고 x에 할당됩니다.
y pArray[1] -0.0, 1.0 인스턴스화 중에 pArray[1]은 -1과 1 사이에 고정되고 511.0f를 곱한 다음 y에 할당됩니다.
z pArray[2] -0.0, 1.0 인스턴스화 중에 pArray[2]는 -1과 1 사이에 고정되고 511.0f를 곱한 다음 z에 할당됩니다.
w pArray[3] 0.0, 1.0 인스턴스화 중에 pArray[3]는 0에서 1 사이로 고정된 다음 w에 할당됩니다. 이 인수는 0.0에서 1.0 사이여야 합니다. XMXDECN4 instance 인스턴스화하는 동안 3.0f를 곱한 다음 구조체의 w 멤버로 저장됩니다.
XMXDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x1 = round( _x1 *  511.0f);
_y1 = round( _y1 *  511.0f);
_z1 = round( _z1 *  511.0f);
_w1 = round( _w1 *  3.0f);

instance.v =  ( (uint32_t)_w1 << 30) |
                (((uint32_t)_z1 & 0x3FF) << 20) |
                (((uint32_t)_y1 & 0x3FF) << 10) |
                (((uint32_t)_x1 & 0x3FF));

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 directxpackedvector.h

추가 정보

참조

XMXDECN4

XMXDECN4 생성자