我正在使用DirectX(C ++),在游戏中,我在某个世界(x,y,z)的某个地方有坐标的坐标。
如何将对象坐标转换为屏幕坐标?如果可能的话,我对Vector3到Screen的位置特别感兴趣吗?
我所拥有的坐标的一个例子是:
x=1403.722900
y=2892.604736
z=79.125000
答案 0 :(得分:3)
您需要的DirectX功能是D3DXVec3Project
http://msdn.microsoft.com/en-us/library/windows/desktop/bb205516%28v=VS.85%29.aspx
传入世界坐标中的D3DXVECTOR3,以及指向视口和各种矩阵(世界,投影,视图)的指针。该功能的输出是屏幕坐标。
还有一个D3DXVec3Unproject函数用于从屏幕坐标到世界坐标的另一个方向。