当我们需要获取相机之间的距离时,我们指向的女巫使用GL11.GL_DEPTH_COMPONENT
。问题是我想要获得相机与最靠近相机的物体后面的物体之间的距离。有可能吗?怎么样?
答案 0 :(得分:2)
这是我最常写的OpenGL澄清:
OpenGL不是场景图。它只是将点,线和三角形绘制为2D帧缓冲区。在OpenGL中没有对象或相机这样的东西。这是唯一的几何图元,OpenGL会忘记栅格化它们的那一刻,以及帧缓冲区中这个过程的结果。 OpenGL在前面没有"的概念。或"背后"。
您所询问的内容完全超出了OpenGL的范围。你想要的是一个实现光线 - 三角交叉点拾取的场景图。
我只能重申Nicol Bolas已经回答的问题:
OpenGL用于渲染;它是用来绘制东西的。它的深度缓冲存在于此目的。 深度缓冲区仅存储距摄像机Z平面的距离, 不是从点到三角形上的该点的径向距离
答案 1 :(得分:1)
如果你想要两点之间的距离(比如相机和物体的中心点),那么你将不得不用常规的矢量数学计算它:sqrt(dot(pt1 - pt2, pt1 - pt2))
OpenGL用于渲染;这是为了画画。它的深度缓冲存在于此目的。深度缓冲区仅存储距摄像机Z平面的距离,而不是距离点到三角形上该点的径向距离。