C++ 在gluSphere顶部绘制的OpenGL线条';s

C++ 在gluSphere顶部绘制的OpenGL线条';s,c++,opengl,C++,Opengl,我一直在使用OpenGL进行实验,试图在矩形棱柱的内部和外部绘制球体。问题是,无论我选择在哪里绘制球体,网格总是放在我的圆的顶部,如下所示: 我现在做的基本上是使用glTranslatef在负z方向上平移100个单位,然后使用GL\u LINE\u STRIP绘制构成棱镜的线,最后使用glTranslatef和glusphere创建圆。棱镜应该在z轴上从-50延伸到0,靠近中间的球体应该位于(30,30,0),而靠近角的球体应该位于(50,50,5) 这种方法有什么问题吗?你在渲染函数中调用了

我一直在使用OpenGL进行实验,试图在矩形棱柱的内部和外部绘制球体。问题是,无论我选择在哪里绘制球体,网格总是放在我的圆的顶部,如下所示:

我现在做的基本上是使用
glTranslatef
在负z方向上平移100个单位,然后使用
GL\u LINE\u STRIP
绘制构成棱镜的线,最后使用
glTranslatef
glusphere
创建圆。棱镜应该在z轴上从-50延伸到0,靠近中间的球体应该位于(30,30,0),而靠近角的球体应该位于(50,50,5)


这种方法有什么问题吗?

你在渲染函数中调用了
glEnable(GL\u DEPTH\u TEST)
吗?

你在渲染函数中调用了
glEnable(GL\u DEPTH\u TEST)
吗?

嗯,我添加了
glEnable(GL\u DEPTH\u TEST)到我的
glutDisplayFunc
的开头,现在我的窗口是空的。这是什么意思?是的,我做到了<代码>glClear(GL_深度_缓冲区_位| GL_颜色_缓冲区_位)非常感谢您的帮助!嗯,我增加了
glEnable(GL\u深度测试)到我的
glutDisplayFunc
的开头,现在我的窗口是空的。这是什么意思?是的,我做到了<代码>glClear(GL_深度_缓冲区_位| GL_颜色_缓冲区_位)非常感谢您的帮助!