From d137bf2485050b54bb0ac65ef543ba24f18fabbe Mon Sep 17 00:00:00 2001 From: knolax <1339802534.kk@gmail.com> Date: Thu, 16 Feb 2017 10:46:14 -0500 Subject: initial commit --- example/Terminus.ttf | Bin 0 -> 423992 bytes example/fragmentshader.glsl | 6 +++++ example/main | Bin 0 -> 49192 bytes example/main.cpp | 57 ++++++++++++++++++++++++++++++++++++++++++++ example/main.h | 4 ++++ example/main.o | Bin 0 -> 4424 bytes example/makefile | 6 +++++ example/vertexshader.glsl | 10 ++++++++ 8 files changed, 83 insertions(+) create mode 100644 example/Terminus.ttf create mode 100644 example/fragmentshader.glsl create mode 100755 example/main create mode 100644 example/main.cpp create mode 100644 example/main.h create mode 100644 example/main.o create mode 100644 example/makefile create mode 100644 example/vertexshader.glsl (limited to 'example') diff --git a/example/Terminus.ttf b/example/Terminus.ttf new file mode 100644 index 0000000..3eb75d2 Binary files /dev/null and b/example/Terminus.ttf differ diff --git a/example/fragmentshader.glsl b/example/fragmentshader.glsl new file mode 100644 index 0000000..d15860a --- /dev/null +++ b/example/fragmentshader.glsl @@ -0,0 +1,6 @@ +#version 130 +out vec4 outpix; +void main() +{ + outpix = vec4(1.0, 0.0, 0.0, 0.5); +} diff --git a/example/main b/example/main new file mode 100755 index 0000000..5d3327b Binary files /dev/null and b/example/main differ 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 +#include +#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; +} + diff --git a/example/main.h b/example/main.h new file mode 100644 index 0000000..e02ea4b --- /dev/null +++ b/example/main.h @@ -0,0 +1,4 @@ +#ifndef MAIN_H +#define MAIN_H +extern int loop; +#endif diff --git a/example/main.o b/example/main.o new file mode 100644 index 0000000..5b75d16 Binary files /dev/null and b/example/main.o differ diff --git a/example/makefile b/example/makefile new file mode 100644 index 0000000..578059f --- /dev/null +++ b/example/makefile @@ -0,0 +1,6 @@ +main : main.o + g++ main.o -o main -L/home/knolax/code/cpp/gfx -lgui -lgfx -lSDL2 -lSDL2_ttf -L/home/knolax/code/cpp/glgfx -lglgfx -lGLEW -lGL +main.o : main.cpp + g++ -c main.cpp -I/home/knolax/code/cpp/gfx -I/home/knolax/code/cpp/glgfx +clean : + rm main.o diff --git a/example/vertexshader.glsl b/example/vertexshader.glsl new file mode 100644 index 0000000..4187969 --- /dev/null +++ b/example/vertexshader.glsl @@ -0,0 +1,10 @@ +#version 130 +uniform mat4 proj; +uniform mat4 tran; +uniform mat4 cam; +in vec3 position; + +void main() +{ + gl_Position = proj * cam * tran * vec4(position, 1.0f); +} -- cgit v1.1