gKit2 light
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AppTime Class Referenceabstract
+ Inheritance diagram for AppTime:

Public Member Functions

 AppTime (const int width, const int height, const int major=3, const int minor=3, const int samples=0)
 constructeur, dimensions de la fenetre et version d'openGL. More...
 
virtual int init ()=0
 a deriver pour creer les objets openGL. More...
 
virtual int quit ()=0
 a deriver pour detruire les objets openGL. More...
 
virtual int update (const float time, const float delta)
 a deriver et redefinir pour animer les objets en fonction du temps. More...
 
virtual int render ()=0
 a deriver pour afficher les objets. More...
 
- Public Member Functions inherited from App
 App (const int width, const int height, const int major=3, const int minor=3, const int samples=0)
 constructeur, dimensions de la fenetre et version d'openGL. More...
 
int run ()
 execution de l'application. More...
 

Protected Member Functions

virtual int prerender ()
 
virtual int postrender ()
 
- Protected Member Functions inherited from App
void vsync_off ()
 

Protected Attributes

std::chrono::high_resolution_clock::time_point m_cpu_start
 
std::chrono::high_resolution_clock::time_point m_cpu_stop
 
GLuint m_time_query [MAX_FRAMES]
 
GLint64 m_frame_time
 
int m_frame
 
Text m_console
 
- Protected Attributes inherited from App
Window m_window
 
Context m_context
 
bool sync
 

Detailed Description

Definition at line 18 of file app_time.h.

Constructor & Destructor Documentation

◆ AppTime()

AppTime::AppTime ( const int  width,
const int  height,
const int  major = 3,
const int  minor = 3,
const int  samples = 0 
)

constructeur, dimensions de la fenetre et version d'openGL.

Definition at line 8 of file app_time.cpp.

9  : App(width, height, major, minor, samples)
10 {
11  // desactive vsync pour les mesures de temps
12  SDL_GL_SetSwapInterval(0);
13  printf("[Apptime] vsync OFF...\n");
14 
15  // requetes pour mesurer le temps gpu
16  m_frame= 0;
17  glGenQueries(MAX_FRAMES, m_time_query);
18 
19  // initialise les queries, plus simple pour demarrer
20  for(int i= 0; i < MAX_FRAMES; i++)
21  {
22  glBeginQuery(GL_TIME_ELAPSED, m_time_query[i]);
23  glEndQuery(GL_TIME_ELAPSED);
24  }
25 
26  // affichage du temps dans la fenetre
27  m_console= create_text();
28 }
App(const int width, const int height, const int major=3, const int minor=3, const int samples=0)
constructeur, dimensions de la fenetre et version d'openGL.
Definition: app.cpp:11
void printf(Text &text, const int px, const int py, const char *format,...)
affiche un texte a la position x, y. meme utilisation que printf().
Definition: text.cpp:140
Text create_text()
cree une console. a detruire avec release_text( ).
Definition: text.cpp:14

Member Function Documentation

◆ init()

virtual int AppTime::init ( )
pure virtual

a deriver pour creer les objets openGL.

Implements App.

Implemented in TP, TP, TP, TP, StorageImage, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, DrawInstanceBuffer, TP, TP, DrawInstanceBuffer, RT, RT, TP, TP, TP, TP, and TP.

◆ quit()

virtual int AppTime::quit ( )
pure virtual

a deriver pour detruire les objets openGL.

Implements App.

Implemented in TP, TP, TP, TP, StorageImage, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, DrawInstanceBuffer, TP, TP, DrawInstanceBuffer, RT, RT, TP, TP, TP, TP, and TP.

◆ update()

virtual int AppTime::update ( const float  time,
const float  delta 
)
inlinevirtual

a deriver et redefinir pour animer les objets en fonction du temps.

Reimplemented from App.

Reimplemented in TP, StorageImage, TP, DrawInstanceBuffer, TP, DrawInstanceBuffer, TP, and TP.

Definition at line 31 of file app_time.h.

31 { return 0; }

◆ render()

virtual int AppTime::render ( )
pure virtual

a deriver pour afficher les objets.

Implements App.

Implemented in TP, TP, TP, TP, StorageImage, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, TP, DrawInstanceBuffer, TP, TP, DrawInstanceBuffer, RT, RT, TP, TP, TP, TP, and TP.


The documentation for this class was generated from the following files: