首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SlimDX中取消投影

如何在SlimDX中取消投影
EN

Stack Overflow用户
提问于 2011-04-07 22:23:44
回答 1查看 1K关注 0票数 2

我是游戏编程新手,也是DirectX & SlimDX新手。目前,我正在将MDX代码转换为SlimDX代码,并且遇到了一个在SlimDX文档中找不到的问题。我正在尝试“取消投影”一个向量代码,如下所示:

MDX代码:

代码语言:javascript
运行
复制
Vector3 p1 = new Vector3(x, y, device.Viewport.MinZ);
p1.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World);

我转换的SlimDX代码如下:

代码语言:javascript
运行
复制
Vector3 p1 = new Vector3(x, y, device.Viewport.MinZ);
p1 = Vector3.Unproject(p1, device.Viewport.X, device.Viewport.Y, device.Viewport.Width,
device.Viewport.Height, device.Viewport.MinZ, device.Viewport.MaxZ, 
device.GetTransform(TransformState.World));

使用上面的SlimDX代码我无法得到正确的结果,请在这方面给我建议,即我如何在SlimDX中取消投影向量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-13 04:37:28

我不熟悉SlimDX,但是在MDX示例中,您将世界矩阵、视图矩阵和投影矩阵传递给Unproject函数(正如您应该做的那样),而在第二个示例中,您只传递了世界矩阵。假设Vector3.Unproject函数只接受一个矩阵作为参数,尝试传递World * View * Projection的乘积。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5582645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档