Функция XMVector3UnprojectStream (directxmath.h)
Преобразует поток трехмерных векторов из экранного пространства в пространство объектов.
Синтаксис
XMFLOAT3 *XM_CALLCONV XMVector3UnprojectStream(
[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 в преобразуемом потоке. X,Y — в пикселях, а Z — от 0,0 (в ViewportMinZ) до 1,0 (в ViewportMaxZ).
[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) |