diff --git a/glslUtil/glslUtil.c b/glslUtil/glslUtil.c index 782d48a..74bc47d 100644 --- a/glslUtil/glslUtil.c +++ b/glslUtil/glslUtil.c @@ -1,7 +1,7 @@ #include "glslUtil.h" -void matrixLoadIdentity(mat4x4 *m) +void guMatrixLoadIdentity(guMatrix4x4 *m) { for (int i = 0; i < 4; i++) { @@ -12,7 +12,7 @@ void matrixLoadIdentity(mat4x4 *m) } } -void matrixMult(mat4x4 *m, mat4x4 *a, mat4x4 *b) +void guMatrixMult(guMatrix4x4 *m, guMatrix4x4 *a, guMatrix4x4 *b) { for (int i = 0; i < 4; i++) { @@ -28,6 +28,10 @@ void matrixMult(mat4x4 *m, mat4x4 *a, mat4x4 *b) } } -void matrixTranslate(mat4x4 *m, float x, float y, float z) +void guMatrixTranslate(guMatrix4x4 *m, float x, float y, float z) { + for (int i = 0; i < 4; i++) + { + m[i][3] += m[i][0] * x + m[i][1] * y + m[i][2] * z; + } } diff --git a/glslUtil/glslUtil.h b/glslUtil/glslUtil.h index b956d5a..3a29c7d 100644 --- a/glslUtil/glslUtil.h +++ b/glslUtil/glslUtil.h @@ -1,12 +1,26 @@ -#ifndef MATRIXLIB_H -#define MATRIXLIB_H +#ifndef GLSLUTIL_H +#define GLSLUTIL_H -typedef float mat4x4[4][4]; +#ifdef GL_INCLUDE_FILE +#include GL_INCLUDE_FILE +#else +#include +#endif -void matrixLoadIdentity(mat4x4 *m); -void matrixMult(mat4x4 *m, mat4x4 *a, mat4x4 *b); -void matrixTranslate(mat4x4 *m, float x, float y, float z); +typedef float guMatrix4x4[4][4]; + +#ifdef __cplusplus +extern "C" { +#endif + +void guMatrixLoadIdentity(guMatrix4x4 *m); +void guMatrixMult(guMatrix4x4 *m, guMatrix4x4 *a, guMatrix4x4 *b); +void guMatrixTranslate(guMatrix4x4 *m, float x, float y, float z); + +#ifdef __cplusplus +} +#endif #endif