原点到屏幕坐标 directx

发布于 2024-12-25 02:14:49 字数 191 浏览 1 评论 0原文

我正在使用 DirectX (C++),在游戏中我有世界中某个对象的坐标 (x,y,z)。

如何将对象坐标转换为屏幕坐标?我对 Vector3 到屏幕位置特别感兴趣,如果可能的话?

我的坐标的一个例子是:

x=1403.722900
y=2892.604736
z=79.125000

I'm working with DirectX (C++) and inside a game i have the coordinates of an object somewhere in a world (x,y,z).

How can i translate the objects coordinates to screen coordinates? I'm particularly interested in Vector3 to Screen positions, if that's even possible?

An example of the coordinates i have is:

x=1403.722900
y=2892.604736
z=79.125000

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏天碎花小短裙 2025-01-01 02:14:49

您需要的 DirectX 函数是 D3DXVec3Project

http://msdn.microsoft.com/en-us/library/windows/desktop/bb205516%28v=VS.85%29.aspx

您传入世界坐标中的 D3DXVECTOR3,以及指向视口和各种矩阵(世界、投影、视图)的指针。该函数的输出是屏幕坐标。

还有一个 D3DXVec3Unproject 函数用于从屏幕坐标到世界坐标的另一个方向。

The DirectX function you need is D3DXVec3Project

http://msdn.microsoft.com/en-us/library/windows/desktop/bb205516%28v=VS.85%29.aspx

You pass in a D3DXVECTOR3 in world coordinates, along with pointers to the viewport and the various matrices (world, projection, view). Output of the function is the screen coordinates.

There is also a D3DXVec3Unproject function for going the other direction, from screen coordinates to world coordinates.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文