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.