我有一个第三方应用程序跟踪可访问参数(但不具有应用程序源代码)的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