我有一個第三方應用程序跟蹤可訪問參數(但不具有應用程序源代碼)的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. Direct3D中的世界空間座標
- 3. 如何使用剛剛座標設置中心
- 4. 使用世界座標
- 5. 到世界空間的切線空間(TBN矩陣)
- 6. 如何獲取剛剛點擊的按鈕用戶的ID?
- 7. 從D3DXIntersectTri獲取世界座標
- 8. 獲取圖像/頂點的確切數量的世界座標只
- 9. WM_SETFOCUS,獲取剛剛失去焦點的應用程序
- 10. 將光世界空間座標轉換爲眼圖座標
- 11. XNA/C#2D座標縮放到3D視圖矩陣的世界矩陣?
- 12. Mysql獲取剛剛插入的行
- 13. 剛剛獲得窗口焦點
- 14. 如何從opengl es2.0的屏幕座標獲取世界座標?
- 15. 從圖像座標中獲取對象的世界座標
- 16. 在pygame中使用鼠標獲取世界座標
- 17. 獲取剛剛點擊的按鈕的編號
- 18. 將GL模型視圖矩陣轉換爲世界座標
- 19. 使用onmousedown獲取您剛剛註冊的元素的ID?
- 20. 獲取我剛剛插入的行的標識
- 21. 如何獲取剛剛添加到DataTable的行的標識?
- 22. 使用$ _GET當剛剛獲得空白頁
- 23. Geom_ribbon()剛剛轉圖空白
- 24. 獲取FrameworkElement邊界矩形的座標
- 25. 以世界座標計算z_far平面的頂點。
- 26. 的jCarousel,獲取數據剛剛在時間
- 27. 如何獲取剛剛插入的記錄標識(mysql)?
- 28. 一個我剛剛點擊
- 29. 剛剛使用Sharepoint 2010 Foundation
- 30. 世界大洲的座標
我無法修改邏輯,着色器等,因爲我沒有源代碼 - 它不是我的項目,我剛剛捕獲了DirectX API調用運行的應用程序與特殊跟蹤工具(apitrace),所以我只能處理與原始頂點數據和API調用參數,如該WVP矩陣 – Aonir