OpenGL中使用glEnable(GL_DEPTH_TEST)后深度测试没有起作用,发现深度缓冲没有创建。glut库在兼容模式(GL_COMPATIBILITY_PROFILE)下displaymode默认值为GL_INDEX,GL_SINGLE,GL_DEPTH,而我使用的是核心模式(GL_CORE_PROFILE),在指定dispalymode的时候使用的是:
glutInitDisplayMode(GL_RGB);
只指定了颜色现实模式。如果向要创建深度缓冲,需要再指定GL_DEPTH,即
glutInitDisplayMode(GL_RGB|GL_DEPTH);
glutInitDisplayMode除了指定窗口颜色显示模式和深度缓冲之外,还可以指定模板缓冲(GL_STENCIL)及其它的一些参数(参照官网)。