Функция XMVector3ProjectStream (directxmath.h)

Проецирует поток трехмерных векторов из пространства объектов в пространство экрана.

Синтаксис

XMFLOAT3 *XM_CALLCONV XMVector3ProjectStream(
  [out] XMFLOAT3       *pOutputStream,
  [in]  size_t         OutputStride,
  [in]  const XMFLOAT3 *pInputStream,
  [in]  size_t         InputStride,
  [in]  size_t         VectorCount,
  [in]  float          ViewportX,
  [in]  float          ViewportY,
  [in]  float          ViewportWidth,
  [in]  float          ViewportHeight,
  [in]  float          ViewportMinZ,
  [in]  float          ViewportMaxZ,
  [in]  FXMMATRIX      Projection,
  [in]  CXMMATRIX      View,
  [in]  CXMMATRIX      World
) noexcept;

Параметры

[out] pOutputStream

Адрес первого XMFLOAT3 в целевом потоке.

[in] OutputStride

Шаг в байтах между векторами в целевом потоке.

[in] pInputStream

Адрес первого XMFLOAT3 в преобразуемом потоке.

[in] InputStride

Шаг в байтах между векторами во входном потоке.

[in] VectorCount

Число векторов для преобразования.

[in] ViewportX

Пиксельная координата левого верхнего угла окна просмотра. Если вы не хотите выполнять отрисовку в подмножестве поверхности, для этого параметра можно задать значение 0.

[in] ViewportY

Пиксельная координата левого верхнего угла окна просмотра на поверхности целевого объекта отрисовки. Если вы не хотите выполнять отрисовку в подмножестве поверхности, для этого параметра можно задать значение 0.

[in] ViewportWidth

Размер ширины тома клипа в пикселях. Если вы не выполняете отрисовку только для подмножества поверхности, для этого параметра следует задать размер ширины поверхности целевого объекта отрисовки.

[in] ViewportHeight

Размер высоты тома клипа в пикселях. Если вы не выполняете отрисовку только для подмножества поверхности, для этого параметра следует задать размер высоты поверхности целевого объекта отрисовки.

[in] ViewportMinZ

Вместе с ViewportMaxZ— значение, описывающее диапазон значений глубины, в который должна быть отрисовывается сцена, минимальное и максимальное значения тома клипа. Большинство приложений устанавливают для этого значения значение 0,0f. Обрезка выполняется после применения матрицы проекции.

[in] ViewportMaxZ

Вместе с MinZ, значение, описывающее диапазон значений глубины, в который должна быть отрисовывается сцена, минимальное и максимальное значения тома клипа. Большинство приложений устанавливают для этого значения значение 1,0f. Обрезка выполняется после применения матрицы проекции.

[in] Projection

Матрица проекции.

[in] View

Матрица представления.

[in] World

Матрица мира.

Возвращаемое значение

Возвращает адрес первого XMFLOAT3 в целевом потоке.

Комментарии

Параметры ViewportX, ViewportY, ViewportWidth и ViewportHeight описывают положение и размеры окна просмотра на поверхности целевого объекта отрисовки. Как правило, приложения отображаются на всей целевой поверхности; При отрисовке на поверхности 640*480 эти параметры должны иметь значение 0, 0, 640 и 480 соответственно. ViewportMinZ и ViewportMaxZ обычно имеют значения 0,0f и 1,0f, но для достижения определенных результатов можно задать и другие значения.

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

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

Требования

Требование Значение
Целевая платформа Windows
Header directxmath.h (включая DirectXMath.h)

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

Функции преобразования трехмерных векторов библиотеки DirectXMath

XMVector3Project