2011-02-12 4 views
0

이 프로그램을 실행하려고하면 제목 표시 줄이 표시되지만 아무 것도 없습니다. 하단 작업 줄만 클릭하면 아무 것도 표시되지 않습니다. 프로그램 창은 없습니다. 어떤 생각? 여기 OpenGL은 물건을 사용하는 코드입니다 :우분투 10.10에 대한 OpenGl 문제

#include <GL/glut.h> // Header File For The GLUT Library 
#include <GL/gl.h> // Header File For The OpenGL32 Library 
#include <GL/glu.h> // Header File For The GLu32 Library 

void SetupRC(void); 
void RenderScene(void); 
void ChangeSize(GLsizei w, GLsizei h); 

// Called to draw scene 
void RenderScene(void) 
{ 
    // Clear the window with current clearing color 
glClearColor (0.f,0.f,0.f,0.f); 
glClear(GL_COLOR_BUFFER_BIT); 

// set the color to these values 
//   R G  B 
glColor3f(1.0f, 1.0f, 1.0f); 

// Draw a filled rectangle with current color 
glRectf(-25.0f, 25.0f, 25.0f, -25.0f); 

// Flush drawing commands 
glFlush(); 
glutSwapBuffers(); 
} 

int main(int argc, char* argv[]) 
{ 
    glutInit(&argc, argv); 
    glutInitDisplayMode (GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH); // color, buffer 
    glutCreateWindow("Simple"); 
    glutInitWindowPosition(400,200); 
    glutInitWindowSize(640,468); 
    glutDisplayFunc(RenderScene); 
    glutReshapeFunc(ChangeSize); 

    SetupRC(); 
    glutMainLoop(); 

    return 0; 
} 

// Setup the rendering state 
void SetupRC(void) 
{ 
    glClearColor(0.0f, 1.0f, 1.0f, 0.0f); 
} 

// Handling window resizing 
void ChangeSize(GLsizei w, GLsizei h) 
{ 
    GLfloat aspectRatio; 

    // Prevent divide by zero 
    if (h == 0) 
     h = 1; 

    // Set Viewport to window dimensions 
    glViewport(0, 0, w, h); 

    // Reset coordinate system 
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 

    // Establish clipping volume (left, right, bottom, top, near, far) 
    aspectRatio = (GLfloat) w/(GLfloat) h; 
    if (w <= h) { 
     glOrtho(-100.0, 100.0, -100/aspectRatio, 100.0/aspectRatio, 1.0, -1.0); 
    } 
    else 
     glOrtho(-100.0 * aspectRatio, 100.0 * aspectRatio, -100.0, 100.0, 1.0, -1.0); 

    glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 
} 
+0

freeglut은 응용 프로그램의 콘솔에 오류 메시지를 기록합니까? – Knowleech

+0

compiz를 사용하도록 설정 했습니까? 나는 당신의 코드를 컴파일하고 그것이 Ubuntu 10.10에서 작동하고 있음을 확인할 수 있습니다. – Eddie

+0

아니요 .. –

답변

1

실행 glxinfo 터미널에서는 어떤 문제가 표시되는지 확인합니다. 당신은이 그래픽 카드 문제처럼 보인다, 메사 - 유틸 당신이 공유 한 바로는

sudo apt-get install mesa-utils 

glxinfo 사용하기 위해 설치해야 할 수도 있습니다. Ubuntu 포럼에서 더 많은 도움을 얻을 수 있습니다. 행운을 빕니다.

0

더블 버퍼링으로 싱글 버퍼링을 변경하면 GLUT_DOUBLE을 넣는 대신 GLUT_SINGLE이 작동합니다.