[Opengl, Glut] Problem z funkcją wyświetlania
Ostatnio zmodyfikowano 2012-02-07 00:08
masterKoper Temat założony przez niniejszego użytkownika |
[Opengl, Glut] Problem z funkcją wyświetlania » 2012-02-06 22:45:38 Witam, może najpierw się przedstawię - jestem masterKoper i programuje sobie w c++ w Code::Blocks od kilku miesięcy. To mój pierwszy post więc jak źle go napisałem to przepraszam - mój błąd. Pisze na forum bo mam problem z moją aplikacją, właściwie grą w Glucie (Opengl). Mianowicie mam problem z glutDisplayFunc - u mnie akurat jest to drawScene. Mam taki kod: static void drawScene( void ) { glClearColor( 0.0f,( float ) 180 / 255, 1.0f, 1.0f ); glClear( GL_COLOR_BUFFER_BIT ); if( gamestate == 1 ) { int col = checkCol( Player1, Map1 ); if( w ) { Player1->vely = pspeed; } else if( s ) { Player1->vely =- pspeed; } else { if( col == 0 ) { Player1->vely =- 2.0; } else if( col == 1 || col ==- 1 ) { Player1->vely = 0.0; } } if( a ) { Player1->velx =- pspeed; } else if( d ) { Player1->velx = pspeed; } else Player1->velx = 0.0; if( c ) { printf( "test" ); } Player1->posx += Player1->velx; Player1->posy += Player1->vely; glPushMatrix(); camx =( Player1->posx + 16.0 ); camy =( Player1->posy + 32.0 ); glTranslatef(( ww / 2.0 ) - camx,( wh / 2.0 ) - camy, NULL ); Map1->draw(); Player1->pdraw(); glPopMatrix(); } glutSwapBuffers(); } Wszystko dobrze szybko się kompiluje niby ok. Ale gdy dodam chociaż jedną linijkę kodu więcej do drawScene to gdy włączam tą grę już skompilowaną to się od razu wyłącza i zwraca -1073741819 (0xC0000005) - czytałem że chodzi o Access violation czyli coś ze złym odwołaniem do pamięci czy coś. Nie wiem do końca czym to jest spowodowanie - tylko przypuszczam -, bo nawet jak dodam jeszcze jedno printf("test"); to już mi się crashuje przy starcie. Szukałem o tym w google ale nic nie znalazłem co by mi pomogło. Myślę że może jest jakieś ograniczenie w glutDisplayFunc, dotyczące długości funkcji. A jak nie to to może te warunki z wykrywaniem kolizji powinny być gdzieś indziej ale przecież to chyba nie powinno sprawiać problemu ;( Tak samo miałem też z glutKeyboardFunc i dlatego te warunki przekopiowałem do displayfunc. W każdym razie proszę o pomoc bo już nie mogę z tym shitem. Niech się ktoś mądry wypowie. ;d |
|
DejaVu |
» 2012-02-06 23:21:57 Umieściłeś pliki *.dll w katalogu w którym znajduje się Twoja skompilowana aplikacja? |
|
masterKoper Temat założony przez niniejszego użytkownika |
» 2012-02-07 00:08:31 Nie ale w folderze Windowsowym są w system32 i w system - czy to nie wystarczy? Ale sproboje skopiować Oprócz tego przeinstaluje gluta bo wziałem jakiegoś nieoficjalnego i to może dlatego nie dziala. Ale nie mogłem znaleść dobrego do Code::blocks |
|
« 1 » |