Поделиться через


структура XMUDECN4 (directxpackedvector.h)

4D-вектор для хранения неподписанных нормализованных целочисленных значений в виде 10-разрядных неподписанных x-, y-и z-компонентов и 2-битового неподписаного w-компонента.

Список дополнительных функций, таких как конструкторы и операторы, доступные при XMUDECN4 программировании на C++, см. в разделе расширения XMUDECN4.

Примечание Сведения об эквивалентных объектах D3DDECLTYPE, D3DFORMAT и DXGI_FORMAT см. в разделе Эквивалентность типов библиотеки DirectXMath.
 

Синтаксис

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.

void XMUDECN4()

Конструктор по умолчанию для XMUDECN4.

Конструктор по умолчанию для XMUDECN4 .

Примечание Этот конструктор доступен только в C++.
 

void XMUDECN4( const XMUDECN4 & unnamedParam1)

Конструктор для XMUDECN4.

Конструктор для XMUDECN4 .

Примечание Этот конструктор доступен только в C++.

XMUDECN4 & operator=( const XMUDECN4 & unnamedParam1)

void XMUDECN4( XMUDECN4 && unnamedParam1)

Конструктор для XMUDECN4.

Конструктор для XMUDECN4 .

Примечание Этот конструктор доступен только в C++.

XMUDECN4 & operator=( XMUDECN4 && unnamedParam1)

Назначает данные компонента вектора из одного экземпляра XMUDECN4 в текущий XMUDECN4экземпляр .

Этот оператор назначает данные компонента вектора из одного экземпляра XMUDECN4 текущему экземпляру XMUDECN4.

Примечание Этот оператор доступен только в C++.

void XMUDECN4( uint32_t Упакованы) noexcept

Инициализирует новый экземпляр XMUDECN4 из переменной uint32_t , содержащей данные компонента в упакованном формате.

Этот конструктор инициализирует новый экземпляр XMUDECN4 из переменной uint32_t , содержащей данные компонента в упакованном формате.

Примечание Этот конструктор доступен только в C++.
 

void XMUDECN4( float _x, float _y, float _z, float _w) noexcept

Этот конструктор инициализирует новый экземпляр XMUDECN4 из четырех нормализованных float аргументов.

Примечание Этот конструктор доступен только в C++.
 

void XMUDECN4( const float *pArray) noexcept

Инициализирует новый экземпляр XMUDECN4 из аргумента массива с четырьмя элементами float .

Этот конструктор инициализирует новый экземпляр XMUDECN4 из аргумента массива четырех элементов float .

Примечание Этот конструктор доступен только в C++.

Оператор void uint32_t() noexcept

Возвращает экземпляр класса , uint32_t содержащий компоненты экземпляра XMUDECN4 в упакованном формате.

Возвращает экземпляр класса , uint32_t содержащий компоненты экземпляра XMUDECN4 в упакованном формате.

Примечание Этот оператор доступен только в C++.
 

XMUDECN4 & operator=( uint32_t Упакованы) noexcept

Назначает данные компонента вектора, упакованные в экземпляр uint32_t , текущему экземпляру XMUDECN4.

Этот оператор назначает данные компонента вектора, упакованные в экземпляр uint32_t , текущему экземпляру XMUDECN4.

Примечание Этот оператор доступен только в C++.
 

Комментарии

Для 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

См. также раздел

Структуры библиотек DirectXMath

Расширения XMUDECN4