2011-01-31 11 views
1

Windowsで作成された凸包を検出するOpenGLプロジェクトがありました。Ubuntu 10.10でOpenGLプロジェクトを実行しているときにエラーが発生しました

私はUbuntu 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

さて、それはウィンドウを作成しますそれを示さない。 ウィンドウが表示される場所をクリックし、コンソールで出力を取得します。非常に奇妙な –

関連する問題