38 lines
720 B
C
38 lines
720 B
C
|
|
#include "glslUtil.h"
|
|
|
|
void guMatrixLoadIdentity(guMatrix4x4 *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 guMatrixMult(guMatrix4x4 *m, guMatrix4x4 *a, guMatrix4x4 *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 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;
|
|
}
|
|
}
|