summaryrefslogtreecommitdiff
path: root/example/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'example/main.cpp')
-rw-r--r--example/main.cpp57
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;
+}
+