2011-01-31 4 views
1

Windows에서 작성된 볼록 선체를 찾기위한 OpenGL 프로젝트가 있습니다.우분투 10.10에서 OpenGL 프로젝트를 실행할 때 오류가 발생했습니다.

이제 우분투 10.10을 사용하고 있으며 코드를 포팅 (C++ 코드)하려고 시도했습니다. - 그것은 단지 부두

g++ convex.cpp -lm -lglut -lGLU -o convex_hull_project 

그것은 파일을 컴파일합니다,하지만 난 파일 ./convex_hull_project을 실행할 때 프로그램을 시작하는 제목을 표시하지만 아무것도 :

는 나는 이런 식으로 컴파일해야 보았다 하단 작업 줄과 내가 그것을 클릭 할 때 - 아무것도 표시되지 않습니다. 프로그램 창이 없습니다. 아이디어가 있으십니까? 다음은 OpenGL은 물건을 사용하는 코드입니다 :

int main(int argc, char* argv[]) { 
    glutInit(&argc, argv); 
    glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH); // color, buffer 
    glutInitWindowPosition(100,100); 
    glutInitWindowSize(window_size_width,window_size_height); 
    glutCreateWindow("Convex hull"); 
    glutDisplayFunc(renderScene); 
    glutMouseFunc(mouse); 
    glutMainLoop(); 
    return 0; 
} 


void renderScene(void) { 

    // clear framebuffer 
    glClearColor(0.f,0.f,0.f,0.f); 
    glClear(GL_COLOR_BUFFER_BIT); 

    // set-up matrix 
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    glOrtho(0,window_size_width,window_size_height,0,-1,1); 

    glViewport(0,0,window_size_width,window_size_height); 
     //drawing ... 
    } 

을 그리고이 포함되어 있습니다 :

#include<GL/glut.h> 
#include<GL/glu.h> 
#include<stdio.h> 
#include<vector> 
#include<algorithm> 
#include<math.h> 
+0

, 프로그램 컴파일 및 링크, 그것은 단지 작동하지 않습니다 도끼가 예상 - 제목 오해의 소지가있다 –

+0

당신이 맞아, 그것을 고정 :) –

답변

2

당신은 당신이 윈도우의 속성을 설정 glutCreateWindow 전에 전화를해야합니다. 고정 된 코드는, (난 그냥 컴파일 얻기 위해 300 폭과 높이 상수를 대체하고 주석 한 마우스 핸들러 등록) : 사용자가 실행 파일을 얻을 수 있기 때문에

#include <cstdio> 
#include <vector> 
#include <algorithm> 
#include <cmath> 

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

void renderScene(void) { 

    // clear framebuffer 
    glClearColor (0.f,0.f,0.f,0.f); 
    glClear (GL_COLOR_BUFFER_BIT); 

    // set-up matrix 
    glMatrixMode (GL_PROJECTION); 
    glLoadIdentity(); 
    glOrtho (0, 300, 300, 0,-1,1); 

    glViewport (0,0,300, 300); 
    //drawing ... 
} 

int main(int argc, char* argv[]) 
{ 
    glutInit (&argc, argv); 
    glutInitDisplayMode (GLUT_RGBA | GLUT_SINGLE | GLUT_DEPTH); // color, buffer 
    glutCreateWindow ("Convex hull"); 
    glutInitWindowPosition (100, 100); 
    glutInitWindowSize (300, 300); 
    glutDisplayFunc (renderScene); 
    //glutMouseFunc (mouse); 
    glutMainLoop(); 
} 
+0

glutCreateWindow ("안녕하세요, GLUT 창!"); glutInitWindowPosition (100, 100); glutInitWindowSize (300, 300); glutCreateWindow ("볼록 선체"); 나는 창을 만들고있다 :) –

+0

맞다.하지만 그 속성을 설정하기 전에 만들어야한다 ... 그래서 init 호출 후 그것을 알아 채지 못했다. :-) –

+0

좋아, 창을 만들지 만 않는다. 보여주지 마라. 윈도우가 있어야 할 장소를 클릭하고 콘솔에서 출력을 얻습니다. 매우 이상합니다. –