3d导航和碰撞检测

时间:2016-01-15 06:47:21

标签: c++ opengl 3d

我是Open GL的新手。我试图通过使用Open GL原语开发的管状结构进行导航。我几乎已经完成了。但现在我的问题是当它碰到管边界时停止相机。有人可以提出解决这个问题的建议吗?

1 个答案:

答案 0 :(得分:0)

OpenGL不是场景图或游戏引擎。它只是一次一个地绘制点,线或三角形,作为帧缓冲区的像素。就是这样。

任何超出你必须自己实现的东西。你想要碰撞检测吗? OpenGL不会为你做的。你想要一个场景吗?您必须自己实现数据结构。

对于管中的摄像机,边界条件很简单:如果摄像机与管中心线的距离(最容易用圆柱坐标表示)接近管半径,则停止沿该方向移动。

¹不完全正确:您可以使用OpenGL来实现碰撞检测等功能,但这并不简单,通常效率低于使用特殊用途的碰撞检测代码。