Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Инициализирует новый экземпляр из XMXDECN4 четырех нормализованных float аргументов.
Этот конструктор инициализирует новый экземпляр XMXDECN4 из четырех нормализованных float аргументов.
Синтаксис
void XMXDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
Параметры
_x
Нормализованное значение координаты X вектора.
Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMXDECN4он умножается на 511.0f , а затем сохраняется как элемент x структуры.
_y
Нормализованное значение для координаты Y вектора, y нового экземпляра XMXDECN4.
Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMXDECN4он умножается на 511.0f и сохраняется как элемент y структуры.
_z
Нормализованное значение координаты z вектора, z нового экземпляра XMXDECN4.
Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMXDECN4он умножается на 511.0f , а затем сохраняется как элемент z структуры.
_w
Нормализованное значение w-координаты вектора, w нового экземпляра XMXDECN4.
Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMCOLOR он умножается на 3.0f и сохраняется как w-член структуры.
Возвращаемое значение
None
Remarks
Все входные значения, _x, _y, _z и _w зажаты в диапазоне от -1,0 до 1,0.
Следующий псевдокод демонстрирует работу этого конструктора, который использует преимущества union четырех компонентов вектора XMDECN4 с экземпляром uint32_t в определении структуры:
XMDECN4 instance;
_x1=min( max( _x, -1.0 ), 1.0 );
_y1=min( max( _y, -1.0 ), 1.0 );
_z1=min( max( _z, -1.0 ), 1.0 );
_w1=min( max( _w, 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 = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Требования
| Требование | Значение |
|---|---|
| Целевая платформа | Windows |
| Header | directxpackedvector.h |
См. также раздел
Справочные материалы