C'est la fonction principale de notre application :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
int PAppSdlOpenGl3::executer(){
if(!p_isOpenGlSdlInit) return 1;
p_isRun = true;
while(p_isRun){
p_start_time = SDL_GetTicks();
this->clearKeyStatesNoRepeat();
while(SDL_PollEvent(&p_evenements)){
this->updateWithEvent(&p_evenements);
this->getEvent(&p_evenements);
}
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
this->update(p_timeForOneFrame*DTFACTOR);
p_matModelview.loadIdentity();
p_cameraGL.see(p_matModelview);
this->draw3d();
SDL_GL_SwapWindow(p_fenetre); p_ellapsed_time = SDL_GetTicks() - p_start_time;
if(p_ellapsed_time < p_timeForOneFrame){SDL_Delay(p_timeForOneFrame - p_ellapsed_time);}
}
return 0;
}
|
Normalement vous connaissez déjà tout, regardez bien les différences, la matrice p_matModelview, la caméra p_cameraGL. Cela revient au même que ce dont vous aviez l'habitude, c'est juste écrit différemment.
|