使用经度线c ++ opengl创建旋转球体

时间:2016-08-30 13:02:49

标签: c++ animation opengl

我已经开始使用OpenGL了,我试图用旋转的彩色经度线(如时区)创建一个有线球体。 我试图使用gluDisk-s绘制它们并在glRotatef函数中应用移位但我得到以下结果(在图像上显示) 我该如何解决? 可能有更好的方法吗?

我使用的代码:

void CreateDisk(int shift) {
    quad = gluNewQuadric();
    gluQuadricDrawStyle(quad, GLU_LINE); 
    glPushMatrix ();
    glTranslatef (0., 0., 1.);

    glRotatef(shift, 0, 1, 0);
    glRotatef(count, 0, 1, 0);

    gluDisk (quad, 0.5, .5, 50, 1);
    glPopMatrix ();
}

void display() {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(30, aspect, .5, 50);
    glMatrixMode(GL_MODELVIEW); //select the modelview matrix.
    glLoadIdentity ();
    gluLookAt(0,0,4,
              0,0,0,
              0,1,0);

    glPushMatrix();
    glColor3f(1, 0, 1);
    CreateDisk(20);
    glColor3f(1, 0, 0);
    CreateDisk(60);
    glPopMatrix();

    glutSwapBuffers();
}

目前它正在创建两个用于测试的磁盘。 First screen Second screen

0 个答案:

没有答案