#include <glut.h>
void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0,0.0,-4.0);
glPointSize(9);
glBegin(GL_LINES);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(1.0, 1.0, 0.0);
glEnd();
glFlush();
}
void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
//glViewport(0,0,9,9);
glMatrixMode(GL_PROJECTION);
gluPerspective(45.0, 1.00, 1.0, 10.0);
}
int main(int iArgc, char** cppArgv) {
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow("cse 404");
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
我正在尝试用gl_lines创建一个像圆形的圆柱体,即一个接一个地复制线条并以葡萄酒的方式旋转整个东西。
GLUquadricObj *quadratic;
quadratic = gluNewQuadric();
glRotatef(90.0f, 0.0f, 1.0f, 0.0f);
gluCylinder(quadratic, 5.0, 5.0, 5.0 ,25, 25);
上面的代码可以给我圆柱但是我不想要这个,我想要一个圆柱状的形状,通过使用gl_lines一个接一个地复制线来创建,这是我进一步工作所需要的。
答案 0 :(得分:0)
使用立即模式,您可以在堆栈中绘制多个圆圈。 每个圆圈都可以通过以下方式轻松绘制:
glBegin(GL_LINE_LOOP);
for ( angleRad=0 to 2 )
glVertex3f(radius*cos(angleRad),radius*sin(angleRad),stackLevel);
glEnd();