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 |
추가 정보
참조