XMVector3Unproject 函数 (directxmath.h)
将屏幕空间中的 3D 矢量投影到对象空间中。
语法
XMVECTOR XM_CALLCONV XMVector3Unproject(
[in] FXMVECTOR V,
[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;
参数
[in] V
将投影到对象空间的屏幕空间中的 3D 矢量。 X 和 Y 以像素为单位,而 ViewportMinZ) 0.0 (ViewportMaxZ) 为 1.0 (。
[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
世界矩阵。
返回值
返回对象空间中的向量。
注解
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 for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | directxmath.h (包括 DirectXMath.h) |