如何在OpenGL中增加窗口深度?

时间:2018-11-19 05:40:55

标签: opengl glfw

在分配中,我正在努力,我必须在OpenGL窗口中创建一个巨大的框并能够旋转它。

此代码正在创建一个窗口:

  window = glfwCreateWindow(1000, 1000, "Window for Box", NULL, NULL);

上一行中的第一个1000对应于窗口的宽度,第二个1000窗口对应于窗口的高度。 现在,当我打开盒子的盖子并旋转时,它看起来像这样:

box with lid open in OpenGL

黄色正方形是盖子,它已打开。您会看到它看起来不像是一个方框,因为窗口的深度较小,并且方框被切割为白色表面。如何增加窗口大小以完美显示框?

1 个答案:

答案 0 :(得分:2)

该窗口是2D窗口,没有深度。您正在寻找的是投影矩阵。如果您使用过glOrtho(),则最后一个参数定义片段与相机之间的距离,以使其仍然可见。如果定义了自己的投影矩阵,则将zFar值设置为大于所有顶点的z坐标。

您也可以使用深度钳制:https://www.khronos.org/opengl/wiki/Vertex_Post-Processing#Depth_clamping

相关问题