Opengl 如何将Z值与深度值进行比较?

Opengl 如何将Z值与深度值进行比较?,opengl,Opengl,我想知道是否在坐标(xyz)的前面绘制了一个不同的模型 通过深度值和坐标的Z值比较,它不起作用 似乎Z值在近=0,远=1中被规格化,但深度值似乎使在视锥最内侧绘制的视点为1 当我将一个远平面移动到一个远的地方时,Z值减小,但深度值不变。 谢谢。我不确定我是否正确理解了你的问题,但我会猜一猜并给出答案。如果这不是你要的,请提前道歉。在OpenGL中,您需要了解视锥是什么。在其中,有一个x和y坐标以及一个深度值。深度值表示绘制的对象(像素)离眼睛的距离。这是为了避免背景中的对象混淆更近的对象,从而提

我想知道是否在坐标(xyz)的前面绘制了一个不同的模型 通过深度值和坐标的Z值比较,它不起作用

似乎Z值在近=0,远=1中被规格化,但深度值似乎使在视锥最内侧绘制的视点为1

当我将一个远平面移动到一个远的地方时,Z值减小,但深度值不变。
谢谢。

我不确定我是否正确理解了你的问题,但我会猜一猜并给出答案。如果这不是你要的,请提前道歉。在OpenGL中,您需要了解视锥是什么。在其中,有一个x和y坐标以及一个深度值。深度值表示绘制的对象(像素)离眼睛的距离。这是为了避免背景中的对象混淆更近的对象,从而提供更真实的现实表示。还有剪裁平面、近剪裁平面和远剪裁平面。将不会绘制比nera剪裁平面近的任何对象,也不会绘制比远剪裁平面远的任何对象。例如,如果我正在从太空中绘制地球的图像。我知道我不必为地球另一边的任何东西操心,只要把它剪掉,就能加快速度。通常,近剪裁平面设置为z=0,远剪裁平面设置为深度=1。然后,对这个间隔进行细分(取决于深度缓冲区),如上所述,OpenGL将把每个像素放在每个插槽中,并决定哪些更靠近眼睛,哪些不靠近眼睛(在从眼睛到像素x,y的同一条线上)。如果在3D中使用x、y、z,则场景中的z值将与深度值的值不匹配,需要使用视图矩阵来正确映射

希望这能帮助一些人