XMVector3UnprojectStream 函式 (directxmath.h)
將 3D 向量資料流程從螢幕空間轉換為物件空間。
語法
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 在 ViewportMinZ) 為 0.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 for Windows 8。 支援 Win32 傳統型應用程式、Windows 市集應用程式和 Windows Phone 8 個應用程式。需求
目標平台 | Windows |
標頭 | directxmath.h (包含 DirectXMath.h) |