【发布时间】:2018-07-15 16:44:38
【问题描述】:
我现在正在开发一个 3d 游戏引擎(非常简单,只是立方体和其他一些简单的 3d 对象)。 我使用的是 C++,对于图形 SFML,它是 C++ 的 2d 图形库。
我已经有了透视投影的公式:
S 将是屏幕上点的位置。 P 将是该点在 3d 空间中的位置。 E 是眼睛(相机)的位置。
Sx = ((Ez * (Px - Ex)) / (Ez + Pz)) + Ex
Sy = ((Ez * (Py - Ey)) / (Ez + Pz)) + Ey
现在,效果很好! 我现在要做的是旋转相机本身。 我已经考虑过围绕相机旋转其他所有东西,因为我可以使用我当前的代码快速做到这一点,其中包括 3d 点的“rotateAroundPoint”函数。
但是有什么比这更快更简单的吗?我的公式有什么补充/一个新的可以让我自己旋转相机吗?
感谢您的帮助,希望有人有解决方案;D 阿拉德·阿尔布尔。
【问题讨论】:
标签: c++ 3d sfml perspectivecamera projection-matrix