2012-09-06 3 views
0

gif 유사한 이동 원에 의해 생성된다.OpenGL을 glutWireTorus 이슈

그러나 나는 원 대한 glutWireTorus을 사용하여 이상한 문제에 봉착했습니다. 나는 다른 모든 그리기 코드를 주석과 단독 z 축을 따라 이동 원환 체를 떠날 경우에도, 나는 그것의 안쪽에 라인을 점멸 수 :

Screenshot

이 모든 것을이 그려 디스플레이 기능이다. 디스플레이 기능을 유휴 기능으로 사용합니다. 유휴 기능을 생성하고 거기에 업데이트 코드를 넣어서 문제가 발생했는지 계속 확인했지만 계속 유지했습니다.

void display(void) 
{ 
    glClearColor(0.f,0.f,0.f,0.f); 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the color buffer 
                  and the depth buffer 

    glLoadIdentity(); 
    glTranslatef(0.0f,0.0f,-5.0f); //Push everything back 5 units into the scene, 
            otherwise we won't see the primitive 
    camera();  
    //yPrev = myCircle.y; 

    glPushMatrix();   
    glTranslatef(0.0f,0.0f,t); 
    glutWireTorus(0.02,1,100,100); 
    glPopMatrix(); 

    DrawAxes();  
    glutSwapBuffers(); //swap the buffers 
    glFlush();//Flush the OpenGL buffers to the window 

    t-=0.002; 

    if (t < -T) 
    { 
     t = 0; 
    } 
} 
+1

투영 설정은 어떻게 생깁니 까? 또한, 당신이'DrawAxes();를 주석 처리했다 할지라도 그것을 계속 수행합니까? –

+0

공간에서 움직이는 원을 원한다면 왜 glutWireTorus 방법을 사용합니까? 이것은 도넛 형 기하학을 그립니다 – tiguero

답변

0

어, 재미 있습니다. 동일한 문제가 발생합니다. 여기 사용하여 사진을 우리는 왜 없이 glutWireTorus 기능 구현을 모르는

glutWireTorus(/*innerRadius*/0.3, /*outerRadius*/0.5, /*nsides*/64, /*rings*/128); 

torus.64x128

매개 변수

glutWireTorus(/*innerRadius*/0.3, /*outerRadius*/0.5, /*nsides*/32, /*rings*/32); 

torus.32x32

다른 사진 사용하여 매개 변수입니다 만, 우리 자신의 원환 체를 구현할 수 있습니다. 어쩌면 누군가가 설명 할 수 있을까요?