diff options
Diffstat (limited to 'example/main.cpp')
-rw-r--r-- | example/main.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/example/main.cpp b/example/main.cpp new file mode 100644 index 0000000..0748ace --- /dev/null +++ b/example/main.cpp @@ -0,0 +1,57 @@ +#include<stdio.h> +#include<time.h> +#include "glgfx.h" +#include "gfx.h" +#include "main.h" +#include "gui.h" +int loop; +int rot = 0; +float dir = 0.0f; +int main (int argc, char * argv[]) { + //inits program + initgfx(400,600, "rotating cube"); + initglgfx(); + //main loop, this is defined in main.h and global + loop = 1; + while(loop) { + cleargfx(); + //polls events, which are in a buffer + //returns 1 if there is event in buffer + //returns 0 if buffer is empty + SDL_Event event; + while (SDL_PollEvent(&event)) { + switch (event.type) { + //loop is a global defined in main.h + case SDL_QUIT: + printf("loop = 0;\n"); + loop = 0; + break; + + } + } + dir += 0.05; + if (dir > 360.0f) { + rot++; + rot = rot % 3; + dir = 0.0f; + } + switch (rot) { + case 0: + drawmodel(0.0f, 0.0f, -2.0f, dir, 0.0f, 0.0f); + drawmodel(0.5f, 3.0f, -10.0f, dir, 0.0f, 0.0f); + break; + case 1: + drawmodel(0.0f, 0.0f, -2.0f, 0.0f, dir, 0.0f); + drawmodel(0.5f, 3.0f, -10.0f, 0.0f, dir, 0.0f); + break; + case 2: + drawmodel(0.0f, 0.0f, -2.0f, 0.0f, 0.0f, dir); + drawmodel(0.5f, 3.0f, -10.0f, 0.0f, 0.0f, dir); + break; + } + updategfx(); + } + quitgfx(); + return 0; +} + |