从现实世界坐标系转换到另一个

Converting from Real world coordinate System to another

我有问题正在尝试排序。

基本上我有一个坐标系,其中 +x = 向东行驶,+y 向上,+z 向北行驶。实际上,我已将 Lat/Long 投射到 OSGB。

我在这个坐标系中有一个点列表,但是当我渲染它们时,它们在一个轴上翻转 Z(北)轴所以我的点列表看起来 incorrect.This 是因为渲染 API 有 +z 轴 运行 相反。

我想我的解决方案可能是,将我所有的 objects/3d models/points 等绘制在我的 "Real World" 坐标系中,然后在我渲染之前的最后一刻应用每个世界矩阵的比例矩阵 (1,1,-1),以便 Z 轴翻转所有内容。

所以如果我的真实世界投影坐标是:281852; 161.488; 655844 在我应用我的 "RealWorldToXNA" 矩阵后,该点将是 281852; 161.488; -655844;

然后我会将相同的东西应用到我的相机,以便它从正确的位置渲染。

这行得通吗?还是我遗漏了什么?我最近没有做很多 3d 数学,并且患有脑胀气。我的一部分大脑认为这会起作用,但另一部分认为它不应该这么简单。

仅供参考,我在我的问题中使用了该解决方案 - 刚刚对其进行了测试,它确实按预期工作。