mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-09 11:20:56 +00:00
TINYGL: Make read-only parameters in zmath const.
(This also changes a by-value pass in gl_M4_InvOrtho to const-reference, thanks to Botje for pointing that one out).
This commit is contained in:
parent
698ef4a37c
commit
206975fb13
@ -16,7 +16,7 @@ void gl_M4_Id(M4 *a) {
|
||||
}
|
||||
}
|
||||
|
||||
int gl_M4_IsId(M4 *a) {
|
||||
int gl_M4_IsId(const M4 *a) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
if (i == j) {
|
||||
@ -29,7 +29,7 @@ int gl_M4_IsId(M4 *a) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void gl_M4_Mul(M4 *c, M4 *a, M4 *b) {
|
||||
void gl_M4_Mul(M4 *c, const M4 *a, const M4 *b) {
|
||||
float s;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int j = 0; j < 4; j++) {
|
||||
@ -42,7 +42,7 @@ void gl_M4_Mul(M4 *c, M4 *a, M4 *b) {
|
||||
}
|
||||
|
||||
// c=c*a
|
||||
void gl_M4_MulLeft(M4 *c, M4 *b) {
|
||||
void gl_M4_MulLeft(M4 *c, const M4 *b) {
|
||||
float s;
|
||||
M4 a;
|
||||
|
||||
@ -59,27 +59,27 @@ void gl_M4_MulLeft(M4 *c, M4 *b) {
|
||||
}
|
||||
}
|
||||
|
||||
void gl_M4_Move(M4 *a, M4 *b) {
|
||||
void gl_M4_Move(M4 *a, const M4 *b) {
|
||||
memcpy(a, b, sizeof(M4));
|
||||
}
|
||||
|
||||
void gl_MoveV3(V3 *a, V3 *b) {
|
||||
void gl_MoveV3(V3 *a, const V3 *b) {
|
||||
memcpy(a, b, sizeof(V3));
|
||||
}
|
||||
|
||||
void gl_MulM4V3(V3 *a, M4 *b, V3 *c) {
|
||||
void gl_MulM4V3(V3 *a, const M4 *b, const V3 *c) {
|
||||
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z + b->m[0][3];
|
||||
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z + b->m[1][3];
|
||||
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z + b->m[2][3];
|
||||
}
|
||||
|
||||
void gl_MulM3V3(V3 *a, M4 *b, V3 *c) {
|
||||
void gl_MulM3V3(V3 *a, const M4 *b, const V3 *c) {
|
||||
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z;
|
||||
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z;
|
||||
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z;
|
||||
}
|
||||
|
||||
void gl_M4_MulV4(V4 *a, M4 *b, V4 *c) {
|
||||
void gl_M4_MulV4(V4 *a, const M4 *b, const V4 *c) {
|
||||
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z + b->m[0][3] * c->W;
|
||||
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z + b->m[1][3] * c->W;
|
||||
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z + b->m[2][3] * c->W;
|
||||
@ -87,7 +87,7 @@ void gl_M4_MulV4(V4 *a, M4 *b, V4 *c) {
|
||||
}
|
||||
|
||||
// transposition of a 4x4 matrix
|
||||
void gl_M4_Transpose(M4 *a, M4 *b) {
|
||||
void gl_M4_Transpose(M4 *a, const M4 *b) {
|
||||
a->m[0][0] = b->m[0][0];
|
||||
a->m[0][1] = b->m[1][0];
|
||||
a->m[0][2] = b->m[2][0];
|
||||
@ -110,7 +110,7 @@ void gl_M4_Transpose(M4 *a, M4 *b) {
|
||||
}
|
||||
|
||||
// inversion of an orthogonal matrix of type Y=M.X+P
|
||||
void gl_M4_InvOrtho(M4 *a, M4 b) {
|
||||
void gl_M4_InvOrtho(M4 *a, const M4 &b) {
|
||||
int i, j;
|
||||
float s;
|
||||
for (i = 0; i < 3; i++) {
|
||||
@ -190,7 +190,7 @@ int Matrix_Inv(float *r, float *m, int n) {
|
||||
|
||||
// inversion of a 4x4 matrix
|
||||
|
||||
void gl_M4_Inv(M4 *a, M4 *b) {
|
||||
void gl_M4_Inv(M4 *a, const M4 *b) {
|
||||
M4 tmp;
|
||||
memcpy(&tmp, b, 16 * sizeof(float));
|
||||
//tmp = *b
|
||||
@ -215,7 +215,7 @@ void gl_M4_Rotate(M4 *a, float t, int u) {
|
||||
}
|
||||
|
||||
// inverse of a 3x3 matrix
|
||||
void gl_M3_Inv(M3 *a, M3 *m) {
|
||||
void gl_M3_Inv(M3 *a, const M3 *m) {
|
||||
float det;
|
||||
|
||||
det = m->m[0][0] * m->m[1][1] * m->m[2][2] - m->m[0][0] * m->m[1][2] * m->m[2][1] -
|
||||
|
@ -32,18 +32,18 @@ typedef struct {
|
||||
} V4;
|
||||
|
||||
void gl_M4_Id(M4 *a);
|
||||
int gl_M4_IsId(M4 *a);
|
||||
void gl_M4_Move(M4 *a, M4 *b);
|
||||
void gl_MoveV3(V3 *a, V3 *b);
|
||||
void gl_MulM4V3(V3 *a, M4 *b, V3 *c);
|
||||
void gl_MulM3V3(V3 *a, M4 *b, V3 *c);
|
||||
int gl_M4_IsId(const M4 *a);
|
||||
void gl_M4_Move(M4 *a, const M4 *b);
|
||||
void gl_MoveV3(V3 *a, const V3 *b);
|
||||
void gl_MulM4V3(V3 *a, const M4 *b, const V3 *c);
|
||||
void gl_MulM3V3(V3 *a, const M4 *b, const V3 *c);
|
||||
|
||||
void gl_M4_MulV4(V4 *a, M4 *b, V4 *c);
|
||||
void gl_M4_InvOrtho(M4 *a, M4 b);
|
||||
void gl_M4_Inv(M4 *a, M4 *b);
|
||||
void gl_M4_Mul(M4 *c, M4 *a, M4 *b);
|
||||
void gl_M4_MulLeft(M4 *c, M4 *a);
|
||||
void gl_M4_Transpose(M4 *a, M4 *b);
|
||||
void gl_M4_MulV4(V4 *a, const M4 *b, const V4 *c);
|
||||
void gl_M4_InvOrtho(M4 *a, const M4 &b);
|
||||
void gl_M4_Inv(M4 *a, const M4 *b);
|
||||
void gl_M4_Mul(M4 *c, const M4 *a, const M4 *b);
|
||||
void gl_M4_MulLeft(M4 *c, const M4 *a);
|
||||
void gl_M4_Transpose(M4 *a, const M4 *b);
|
||||
void gl_M4_Rotate(M4 *c, float t, int u);
|
||||
int gl_V3_Norm(V3 *a);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user