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