我正尝试在 z方向中使用0.5,-0.5,0.0 to 0.5,-0.5,-0.5
在 GL_LINES
点画一条线。
窗口的初始化:
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH|GLUT_RGB);
在显示功能中设置。
glClearColor(1.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
但是,该行不会显示在屏幕上。请帮助我们如何显示沿z方向的线。
答案 0 :(得分:0)
您应该共享实际尝试使用GL_LINES绘制线条的代码段。没有它,我必须假设你不知道如何正确地做到这一点。设置后绘制线条的正确方法是:
glBegin(GL_LINES);
glVertex3f(0.5f, -0.5f, 0.0f);
glVertex3f(0.5f, -0.5f, -0.5f);
glEnd();
你尝试过这种方式吗?另外,如果你使用双缓冲,在渲染之后不要忘记交换缓冲区,在不使用时使用gluts或SwapBuffers(hdc)时使用glutSwapBuffers()。
编辑:
此外,您需要正确设置相机并稍微移动以实际看到您绘制的线条(它可能在视图区域之外)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,1,0.1,100); //Example values but should work in your case
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
这段代码应正确设置您的投影。现在OpenGL默认在Z轴的负方向上看,所以如果你想看到你的线,你需要使用代码将相机移动到Z轴的正端(实际上代码移动整个世界,而不仅仅是你的相机,但这并不重要):
glTranslate(0.0f,0.0f,-1.0f);
在glBegin之前使用它,你应该很高兴。