структура XMUDECN4 (directxpackedvector.h)
4D-вектор для хранения неподписанных нормализованных целочисленных значений в виде 10-разрядных неподписанных x-, y-и z-компонентов и 2-битового неподписаного w-компонента.
Список дополнительных функций, таких как конструкторы и операторы, доступные при XMUDECN4
программировании на C++, см. в разделе расширения XMUDECN4.
Синтаксис
struct XMUDECN4 {
union {
struct {
uint32_t x : 10;
uint32_t y : 10;
uint32_t z : 10;
uint32_t w : 2;
};
uint32_t v;
};
void XMUDECN4();
void XMUDECN4(
const XMUDECN4 & unnamedParam1
);
XMUDECN4 & operator=(
const XMUDECN4 & unnamedParam1
);
void XMUDECN4(
XMUDECN4 && unnamedParam1
);
XMUDECN4 & operator=(
XMUDECN4 && unnamedParam1
);
void XMUDECN4(
uint32_t Packed
) noexcept;
void XMUDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
void XMUDECN4(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMUDECN4 & operator=(
uint32_t Packed
) noexcept;
};
Члены
x
Целочисленное значение без знака в диапазоне [0, 1023], описывающее координату X вектора.
y
Целочисленное значение без знака в диапазоне [0, 1023], описывающее координату Y вектора.
z
Целочисленное значение без знака в диапазоне [0, 1023], описывающее z-координату вектора.
w
Целочисленное значение без знака в диапазоне [0, 3], описывающее w-координату вектора.
v
32-разрядное целое число без знака, представляющее вектор 4D.
Конструктор по умолчанию для XMUDECN4
.
Конструктор по умолчанию для XMUDECN4 .
void XMUDECN4( const XMUDECN4 & unnamedParam1)
Конструктор для XMUDECN4
.
Конструктор для XMUDECN4 .
XMUDECN4 & operator=( const XMUDECN4 & unnamedParam1)
void XMUDECN4( XMUDECN4 && unnamedParam1)
Конструктор для XMUDECN4
.
Конструктор для XMUDECN4 .
XMUDECN4 & operator=( XMUDECN4 && unnamedParam1)
Назначает данные компонента вектора из одного экземпляра XMUDECN4
в текущий XMUDECN4
экземпляр .
Этот оператор назначает данные компонента вектора из одного экземпляра XMUDECN4 текущему экземпляру XMUDECN4
.
void XMUDECN4( uint32_t Упакованы) noexcept
Инициализирует новый экземпляр XMUDECN4
из переменной uint32_t
, содержащей данные компонента в упакованном формате.
Этот конструктор инициализирует новый экземпляр XMUDECN4 из переменной uint32_t
, содержащей данные компонента в упакованном формате.
void XMUDECN4( float _x, float _y, float _z, float _w) noexcept
Этот конструктор инициализирует новый экземпляр XMUDECN4 из четырех нормализованных float
аргументов.
void XMUDECN4( const float *pArray) noexcept
Инициализирует новый экземпляр XMUDECN4 из аргумента массива с четырьмя элементами float
.
Этот конструктор инициализирует новый экземпляр XMUDECN4 из аргумента массива четырех элементов float
.
Оператор void uint32_t() noexcept
Возвращает экземпляр класса , uint32_t
содержащий компоненты экземпляра XMUDECN4
в упакованном формате.
Возвращает экземпляр класса , uint32_t
содержащий компоненты экземпляра XMUDECN4 в упакованном формате.
XMUDECN4 & operator=( uint32_t Упакованы) noexcept
Назначает данные компонента вектора, упакованные в экземпляр uint32_t
, текущему экземпляру XMUDECN4
.
Этот оператор назначает данные компонента вектора, упакованные в экземпляр uint32_t
, текущему экземпляру XMUDECN4.
Комментарии
Для XMUDECN4
конструкторов, использующих аргументы с плавающей запятой, требуются нормализованные входные данные, которые должны находиться в диапазоне [0.-1.0]. Во время создания экземпляра входные данные, определяющие компоненты x, y и z, умножаются на 1023,0f, а w-компонент — на 3,0f.
Результаты округляются, а затем присваиваются соответствующим членам XMUDECN4
.
Вы можете использовать для XMUDECN4
загрузки экземпляров XMVECTOR из нормализованных значений с помощью XMLoadUDecN4, который делит x-, y-и z-компоненты на 1023.0f, делит w-компонент на 3,0f, округляет результат, а затем назначает компоненты экземпляру XMVECTOR
.
XMVECTOR
Экземпляры, содержащие нормализованные значения, можно хранить в XMUDECN4
с помощью XMStoreUDecN4, который умножает x-, y-и z-компоненты на 1023,0f, умножает w-компонент на 3,0f и округляет результат перед присвоением значений соответствующим XMUDECN4
членам.
Пространства имен: Использование DirectX::P ackedVector
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.Требования
Требование | Значение |
---|---|
Заголовок | directxpackedvector.h |