深度值(片段):gl_FragCoord的x和y分量代表了片段的屏幕空间坐标(其中(0, 0)位于左下角)。gl_FragCoord中也包含了一个z分量,它包含了片段真正的深度值。z值就是需要与深度缓冲内容所对比的那个值。
    OpenGL会将一个片段的深度值与深度缓冲的内容进行对比,丢弃深度值大于等于当前深度缓冲值的所有片段

    1. glEnable(GL_DEPTH_TEST);//它是由OpenGL自动完成的。
    2. glDepthFunc(GL_LESS);默认情况的深度函数

    在每次渲染迭代之前清除深度缓冲(否则你会仍在使用上一次渲染迭代中的写入的深度值)。

    1. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    2. glDepthMask(GL_FALSE);//不写入深度、对所有片段都执行深度测试并丢弃相应的片段,但不希望更新深度缓冲
    1. OpenGL存储它的所有深度信息于一个Z缓冲中,也被称为深度缓冲。GLFW会自动为你生成这样一个缓冲,用于记录每个像素的深度值。深度值存储在每个片段里面(作为片段的z值)。
    2. 当片段想要输出它的颜色时,OpenGL会将它的深度值和z缓冲进行比较,如果当前的片段在其它片段之后,它将会被丢弃,否则将会覆盖。这个过程称为深度测试(Depth Testing)。