2010-02-05 8 views
0

1 일 이상이 소요되었지만 아직 이유를 파악하지 못했습니다. 우분투 9.10을 사용하여 C++에서 작동하는 간단한 OpenGL을 만들려고합니다.GLUT_SINGLE은 검은 색 화면을 표시합니다.

GLUT_SINGLE 매개 변수를 사용할 때마다 나에게 검은 색 화면이 나타납니다. 나는 나가기 위해 그 스크린 위에서 마우스를 무작위로 클릭해야했다. 이것은 너무 성가신 일입니다. 아마도 버그 일 수 있습니다. 아무도 도와 줄 수 있니? 나는 또한 우분투 9.10 사용하고

#include <GL/glut.h> 
#include <GL/gl.h> 
#include <GL/glu.h> 

void myDisplay() 
{ 
    glClear(GL_COLOR_BUFFER_BIT); 
    glBegin(GL_TRIANGLES); 
     glVertex3f(-0.5,-0.5,0.0); 
     glVertex3f(0.5,0.0,0.0); 
     glVertex3f(0.0,0.5,0.0); 
    glEnd(); 
    glFlush(); 

    glutSwapBuffers(); 
} 

void myReshape(int a, int b) 
{ 
} 

void myMouse(int a, int b, int c, int d) 
{ 
} 

void myKeyboard(unsigned char c, int a, int b) 
{ 
} 

void myInit() 
{ 
} 

int main(int argc, char ** argv) 
{ 
    glutInit(&argc,argv); // initiaize the toolkit 
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // set the display mode 
    glutInitWindowSize(640,480); // set window size 
    glutInitWindowPosition(0,0); 
    glutCreateWindow("first window"); 

    glutDisplayFunc(myDisplay); 


    glutReshapeFunc(myReshape); 
    //glutMouseFunc(myMouse); 
    //glutKeyboardFunc(myKeyboard); 

    myInit(); 
    glutMainLoop(); 

    return 0; 
} 
+0

싱글 버퍼링 된 윈도우에서'glSwapBuffers()'를 호출 할 필요가 없습니다. 그래도 효과가 없어야합니다. – Thomas

+0

Win7 x64에서 저에게 잘 작동합니다. –

답변

1

, 최신 업데이트 : 여기

내가 사용하는 코드, C++로 간단한 삼각형을 그리기입니다.

g++ -o test -lglut -lGLU -lGL test.cpp 

으로 코드를 컴파일 할 때 완벽하게 작동합니다. 이것은 실제로 버그 일 수 있습니다.

다른 OpenGL 응용 프로그램도 단일 버퍼링으로 작동합니까? 다른 비디오 드라이버 (무료 대 비 무료)를 사용해 보셨습니까?

+0

네, 문제는 제 그래픽 카드 드라이버에 있다고 생각합니다. 나는 여전히 내 노트북을위한 좋은 그래픽 카드 드라이버를 찾으려고 노력하고있다. Ubuntu 9.10의 Radeon Xpress 200M입니다. – root

0

잘 작동합니다. 우분투 9.10, 64

OpenGL은 렌더링 문자열 : 메사 DRI 인텔 (R) Q35 GEM 20090712 2009Q2 RC3

의 OpenGL 버전 문자열 : 1.4 메사 7.6

나는 당신의 드라이버가 버그가있을 수 있습니다 생각한다. 데스크탑 시각 효과를 사용하지 않도록 설정하십시오 (시스템 -> 환경 설정 -> 모양).

관련 문제