From c1c42f355813e64cbdca500cc255e187684d4227 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 8 May 2011 21:58:12 -0400 Subject: [PATCH] add initial glslUtil files --- glslUtil/glslUtil.c | 33 +++++++++++++++++++++++++++++++++ glslUtil/glslUtil.h | 12 ++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 glslUtil/glslUtil.c create mode 100644 glslUtil/glslUtil.h diff --git a/glslUtil/glslUtil.c b/glslUtil/glslUtil.c new file mode 100644 index 0000000..782d48a --- /dev/null +++ b/glslUtil/glslUtil.c @@ -0,0 +1,33 @@ + +#include "glslUtil.h" + +void matrixLoadIdentity(mat4x4 *m) +{ + for (int i = 0; i < 4; i++) + { + for (int j = 0; j < 4; j++) + { + m[i][j] = (i == j) ? 1.0 : 0.0; + } + } +} + +void matrixMult(mat4x4 *m, mat4x4 *a, mat4x4 *b) +{ + for (int i = 0; i < 4; i++) + { + for (int j = 0; j < 4; j++) + { + float v = 0.0; + for (int p = 0; p < 4; p++) + { + v += a[i][p] * b[p][j]; + } + m[i][j] = v; + } + } +} + +void matrixTranslate(mat4x4 *m, float x, float y, float z) +{ +} diff --git a/glslUtil/glslUtil.h b/glslUtil/glslUtil.h new file mode 100644 index 0000000..b956d5a --- /dev/null +++ b/glslUtil/glslUtil.h @@ -0,0 +1,12 @@ + +#ifndef MATRIXLIB_H +#define MATRIXLIB_H + +typedef float mat4x4[4][4]; + +void matrixLoadIdentity(mat4x4 *m); +void matrixMult(mat4x4 *m, mat4x4 *a, mat4x4 *b); +void matrixTranslate(mat4x4 *m, float x, float y, float z); + +#endif +