在分配中,我正在努力,我必须在OpenGL窗口中创建一个巨大的框并能够旋转它。
此代码正在创建一个窗口:
window = glfwCreateWindow(1000, 1000, "Window for Box", NULL, NULL);
上一行中的第一个1000
对应于窗口的宽度,第二个1000
窗口对应于窗口的高度。
现在,当我打开盒子的盖子并旋转时,它看起来像这样:
黄色正方形是盖子,它已打开。您会看到它看起来不像是一个方框,因为窗口的深度较小,并且方框被切割为白色表面。如何增加窗口大小以完美显示框?
答案 0 :(得分:2)
该窗口是2D窗口,没有深度。您正在寻找的是投影矩阵。如果您使用过glOrtho()
,则最后一个参数定义片段与相机之间的距离,以使其仍然可见。如果定义了自己的投影矩阵,则将zFar值设置为大于所有顶点的z坐标。
您也可以使用深度钳制:https://www.khronos.org/opengl/wiki/Vertex_Post-Processing#Depth_clamping