Modul GUI

    Modul GUI tvoří určité jádro celého projektu. Implementuje správu oken, obrazovky a obsahuje i hlavní cyklus aplikace - smyčku zpráv. V té se zpracovávají veškeré události, které aplikace obsluhuje. V současné době je gui implementováno přes okenní systém glut. Ovšem specifické části pro glut byly přesunuty do souborů guiglut.h a guiglut.cpp, a tak by neměl by být větší problém přepsat aplikaci pod jiný okenní systém.


struct GuiInfo {
int winWidth;
int winHeight;
int winWidth2;
int winHeight2;
int Terminated;
int argc;
char **argv;
} guiInfo;



int guiInit(int argc, char *argv[]);
Inicializuje grafické rutiny aplikace. Ověří, zda jsou k dispozici všechny nezbytné rozšíření OpenGL a otevře hlavní okno aplikace.
void guiDone(void);
Zavře okno aplikace a uvolní zdroje.

void guiMainLoop(void); - spuštění hlavní smyčky aplikace
void guiTerminateApp(void);
- oznámení modulu gui, že by mělo ukončit aplikaci
void guiForcedTerminate(void);
- okamžité ukončení aplikace

int guiCheckForGLErrors(logModule M, char *ErrorString);
- kontrola, zda při renderování nedošlo k chybám, a jejich případný výpis do logu
inline int guiCheckForGLErrorsQ(void)
{ return guiCheckForGLErrors(modUnknown, "Rendering error %s."); }; - zjednodušené volání testu na renderovací chyby - pro debuggovací účely, nemělo by v aplikaci zůstávat na trvalo

void guiRenderScene(void);
- funkce, volaná jádrem gui při renderování scény
void guiAfterRendering(void);
- funkce, volaná po vyrenderování scény a swapnutí bufferů
void guiWindowReshape(int width, int height);
- funkce, volaná při změně velikosti okna
void guiIdle(void);
- funkce, volaná po zpracování všech zpráv, kdy aplikace přechází do nečinnosti; Obvykle se v této funkci iniciuje renderování dalšího snímku.