Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

"Pierwszy program" z kursy OpenGL się nie uruchamia

Ostatnio zmodyfikowano 2012-04-25 19:39
Autor Wiadomość
Winner
Temat założony przez niniejszego użytkownika
"Pierwszy program" z kursy OpenGL się nie uruchamia
» 2012-04-25 12:11:42
Witam, oto kod programu
C/C++
/*
(c) Janusz Ganczarski (Power)
http://www.januszg.hg.pl
JanuszG(małpeczka)enter.net.pl
*/

#include <GL/freeglut/freeglut.h>
#include <stdlib.h>

// funkcja generująca scenę 3D

void Display()
{
    // kolor tła - zawartość bufora koloru
    glClearColor( 1.0, 1.0, 1.0, 1.0 );
   
    // czyszczenie bufora koloru
    glClear( GL_COLOR_BUFFER_BIT );
   
    // kolor kwadratu
    glColor3f( 1.0, 0.0, 0.0 );
   
    // początek definicji wielokąta
    glBegin( GL_POLYGON );
   
    // kolejne wierzchołki wielokąta
    glVertex3f( 0.0, 0.0, 0.0 );
    glVertex3f( 0.0, 1.0, 0.0 );
    glVertex3f( 1.0, 1.0, 0.0 );
    glVertex3f( 1.0, 0.0, 0.0 );
   
    // koniec definicji prymitywu
    glEnd();
   
    // skierowanie poleceń do wykonania
    glFlush();
   
    // zamiana buforów koloru
    glutSwapBuffers();
}

// zmiana wielkości okna

void Reshape( int width, int height )
{
    // generowanie sceny 3D
    Display();
}

// stałe do obsługi menu podręcznego

enum
{
    EXIT // wyjście
};

// obsługa menu podręcznego

void Menu( int value )
{
    switch( value )
    {
        // wyjście
    case EXIT:
        exit( 0 );
    }
}

int main( int argc, char * argv[] )
{
    // inicjalizacja biblioteki GLUT
    glutInit( & argc, argv );
   
    // inicjalizacja bufora ramki
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
   
    // rozmiary głównego okna programu
    glutInitWindowSize( 400, 400 );
   
    // utworzenie głównego okna programu
    glutCreateWindow( "Kwadrat 1" );
   
    // dołączenie funkcji generującej scenę 3D
    glutDisplayFunc( Display );
   
    // dołączenie funkcji wywoływanej przy zmianie rozmiaru okna
    glutReshapeFunc( Reshape );
   
    // utworzenie menu podręcznego
    glutCreateMenu( Menu );
   
    // dodatnie pozycji do menu podręcznego
    #ifdef WIN32
   
    glutAddMenuEntry( "Wyjście", EXIT );
    #else
   
    glutAddMenuEntry( "Wyjscie", EXIT );
    #endif
   
    // określenie przycisku myszki obsługującej menu podręczne
    glutAttachMenu( GLUT_RIGHT_BUTTON );
   
    // wprowadzenie programu do obsługi pętli komunikatów
    glutMainLoop();
    return 0;
}
Dev-cpp kompiluje bez błędów ale program i tak się nie uruchamia. Macie jakieś propozycje co zmienić?
P-55286
xevuel
» 2012-04-25 12:15:08
U mnie się wszystko pięknie uruchamia. Dodałeś do katalogu z programem DLL-kę?

I, czy twoja zakładka z Konsolidatorem wygląda teraz tak samo jak u mnie na screenie w artykule?
P-55287
Winner
Temat założony przez niniejszego użytkownika
» 2012-04-25 13:15:58
Program mam zapisany tam gdzie dev-cpp i dodałem tam plik: freeglut64.dll i jeżeli o to Ci chodziło to i tak nie działa. Konsolidator'ze mam tak samo jak na screenie.
P-55291
xevuel
» 2012-04-25 13:31:46
Coś pokręciłeś. A jak uruchamiasz program ręcznie, nie przez IDE? Włącza się i się wyłącza, a może po prostu nie tworzy okna i jest niewidoczny? Sprawdź w menedżerze zadań.

Albo zainstaluj inne IDE.
P-55294
Winner
Temat założony przez niniejszego użytkownika
» 2012-04-25 13:37:32
Otwieram dev'a klikam na nowy projekt i daje OPenGl i się pokazuje przykładowy kod, który jak skompiluje to nic się nie dzieje (nie tworzy niewidocznego okna) dzieje się tak odkąd ściągnąłem wersje 64 bitową ale teraz jak skopiluje nawet na 32 bitowej to i tak nie działa. (wcześniej działało)
P-55295
xevuel
» 2012-04-25 13:40:10
Pewnie coś ruszałeś w opcjach kompilatora. Przeinstaluj Deva.
P-55296
Winner
Temat założony przez niniejszego użytkownika
» 2012-04-25 13:41:49
Już to robiłem nie raz (nawet jak przeinstaluje i nic nie zmieniał (zn. nie wgrywam freeglut;a) to i tak przykładowy kod opengl nie działa.
P-55297
xevuel
» 2012-04-25 13:43:13
A tworzy plik .exe? Jak tak, to spróbuj go uruchomić. Jak nie, to zainstaluj inną wersję Deva albo usuń go całkiem.
P-55298
« 1 » 2
  Strona 1 z 2 Następna strona