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


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

Трехмерный вектор для хранения со знаком нормализованных значений в виде 8-разрядных (1-байтовых) целых чисел со знаком.

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

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

Синтаксис

struct XMBYTEN4 {
  union {
    struct {
      int8_t x;
      int8_t y;
      int8_t z;
      int8_t w;
    };
    uint32_t v;
  };
  void       XMBYTEN4();
  void       XMBYTEN4(
    const XMBYTEN4 & unnamedParam1
  );
  XMBYTEN4 & operator=(
    const XMBYTEN4 & unnamedParam1
  );
  void       XMBYTEN4(
    XMBYTEN4 && unnamedParam1
  );
  XMBYTEN4 & operator=(
    XMBYTEN4 && unnamedParam1
  );
  void       XMBYTEN4(
    int8_t _x,
    int8_t _y,
    int8_t _z,
    int8_t _w
  ) noexcept;
  void       XMBYTEN4(
    uint32_t Packed
  ) noexcept;
  void       XMBYTEN4(
    const int8_t *pArray
  ) noexcept;
  void       XMBYTEN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void       XMBYTEN4(
    const float *pArray
  ) noexcept;
  XMBYTEN4 & operator=(
    uint32_t Packed
  ) noexcept;
};

Члены

x

Со знаком 8-битовое целочисленное значение в диапазоне [-127, 127], описывающее X-координату вектора.

y

Со знаком 8-битовое целочисленное значение в диапазоне [-127, 127], описывающее координату Y вектора.

z

Со знаком 8-битовое целочисленное значение в диапазоне [-127, 127], описывающее z-координату вектора.

w

Со знаком 8-битовое целочисленное значение в диапазоне [-127, 127], описывающее w-координату вектора.

v

32-разрядное целое число без знака, представляющее вектор 4D.

void XMBYTEN4()

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

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

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

void XMBYTEN4( const XMBYTEN4 & unnamedParam1)

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

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

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

XMBYTEN4 & operator=( const XMBYTEN4 & unnamedParam1)

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

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

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

void XMBYTEN4( XMBYTEN4 && без имениParam1)

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

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

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

XMBYTEN4 & operator=( XMBYTEN4 && unnamedParam1)

void XMBYTEN4( int8_t _x, int8_t _y, int8_t _z, int8_t _w) noexcept

Инициализирует новый экземпляр из XMBYTEN4 четырех int8_t аргументов.

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

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

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

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

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

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

void XMBYTEN4( const int8_t *pArray) noexcept

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

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

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

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

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

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

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

void XMBYTEN4( const float *pArray) noexcept

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

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

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

XMBYTEN4 & operator=( uint32_t Packed) noexcept

Комментарии

Эти XMBYTEN4 конструкторы, использующие аргументы с плавающей запятой, требуют нормализованных входных данных, которые должны находиться в диапазоне [0.0.-1.0]. Во время создания экземпляра эти данные умножаются на 127,0f, результаты округляются, а затем присваиваются соответствующим членам XMBYTEN4.

XMBYTEN4 можно использовать для загрузки экземпляров XMVECTOR из нормализованных значений с помощью XMLoadByteN4, который делит каждый компонент 127.0f, округляет результат, а затем назначает компоненты экземпляру XMVECTOR .

XMVECTOR экземпляры, содержащие нормализованные значения, можно сохранить в XMBYTEN4 с помощью XMStoreByteN4, который умножает каждый компонент на 127,0f, округляя результат, прежде чем присваивать значения соответствующим XMBYTEN4 членам.

Пространства имен: Использование DirectX::P ackedVector

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.

Требования

   
Верхняя часть directxpackedvector.h

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

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

Расширения XMBYTEN4