我有一個第三方應用程序跟蹤可訪問參數(但不具有應用程序源代碼)的DirectX 9 API調用,並且使用帶有World_View_Projection矩陣的頂點着色器作爲單個參數。出於某種目的,我需要將頂點從模型轉換到世界空間,那麼是否有一些方法可以使用組合的World_View_Projection矩陣(不使用單獨的矩陣),並可以藉助可以從原始API調用中提取的其他數據?感謝您的回答。使用剛剛組合的WVP矩陣獲取世界空間頂點座標
0
A
回答
1
您需要將世界矩陣以及世界視圖投影矩陣傳遞給着色器。你當然可以通過世界矩陣和一個視圖投影矩陣,而不是在你的着色器中進行乘法運算。或者,您可以將世界,視圖和投影作爲單個矩陣傳遞,並在着色器中創建所需的組合。
隨着現代Direct3D硬件特性級別10.0或更高版本的卡,它們往往具有很大的計算能力,因此它不像在較老的Shader Model 2.0卡上那樣具有預先計算矩陣之前被傳遞到着色器。
爲什麼使用Direct3D 9而不是Direct3D 11?除非你的目標是Windows XP,否則Direct3D 11是一個更好的選擇。請參閱DirectX工具包tutorials。
相關問題
- 1. 世界到OpenSceneGraph中的空間座標
- 2. 使用世界座標
- 3. 到世界空間的切線空間(TBN矩陣)
- 4. 如何獲取剛剛點擊的按鈕用戶的ID?
- 5. 從D3DXIntersectTri獲取世界座標
- 6. WM_SETFOCUS,獲取剛剛失去焦點的應用程序
- 7. 將光世界空間座標轉換爲眼圖座標
- 8. XNA/C#2D座標縮放到3D視圖矩陣的世界矩陣?
- 9. 獲取剛剛點擊的按鈕的編號
- 10. 將GL模型視圖矩陣轉換爲世界座標
- 11. 獲取FrameworkElement邊界矩形的座標
- 12. 使用onmousedown獲取您剛剛註冊的元素的ID?
- 13. 使用$ _GET當剛剛獲得空白頁
- 14. 如何獲取剛剛添加到DataTable的行的標識?
- 15. 獲取我剛剛插入的行的標識
- 16. 的jCarousel,獲取數據剛剛在時間
- 17. 一個我剛剛點擊
- 18. 剛剛使用Sharepoint 2010 Foundation
- 19. 世界大洲的座標
- 20. 點在矩陣座標
- 21. 提取剛剛從 「A HREF」
- 22. 照片座標比。世界座標
- 23. 如何爲剛剛創建的用戶獲取uId
- 24. 獲取從指定剛剛註冊的用戶
- 25. 如何在剛剛產生用來取消固定節點
- 26. 讓相機使用世界變換矩陣來看點嗎?
- 27. 哈斯克爾:函數組合剛剛破壞我的大腦
- 28. 轉換視圖點擊座標從世界座標到本地?
- 29. Kinect:從色彩空間到世界座標
- 30. 遊戲開發 - 使用屏幕座標與世界座標
我無法修改邏輯,着色器等,因爲我沒有源代碼 - 它不是我的項目,我剛剛捕獲了DirectX API調用運行的應用程序與特殊跟蹤工具(apitrace),所以我只能處理與原始頂點數據和API調用參數,如該WVP矩陣 – Aonir