Math/Math: translate/scale functions should not accept vectors, but rather individual parameters.
This is "low level" functions. Used by other math classes/functions.
This commit is contained in:
parent
18ea713445
commit
532c6dafaf
2 changed files with 9 additions and 9 deletions
|
|
@ -36,10 +36,10 @@ namespace sp { namespace math
|
||||||
Matrix4f rotation(float theta);
|
Matrix4f rotation(float theta);
|
||||||
|
|
||||||
// Create a 2D translation matrix.
|
// Create a 2D translation matrix.
|
||||||
Matrix4f translate(const Vector2f& v);
|
Matrix4f translate(float x, float y);
|
||||||
|
|
||||||
// Create a 2D scale matrix.
|
// Create a 2D scale matrix.
|
||||||
Matrix4f scale(const Vector2f& f);
|
Matrix4f scale(float x, float y);
|
||||||
|
|
||||||
// Get translation part of a matrix.
|
// Get translation part of a matrix.
|
||||||
Vector3f getTranslate(const Matrix4f matrix);
|
Vector3f getTranslate(const Matrix4f matrix);
|
||||||
|
|
|
||||||
|
|
@ -60,21 +60,21 @@ namespace sp { namespace math
|
||||||
0.0f, 0.0f, 0.0f, 1.0f);
|
0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
Matrix4f translate(const Vector2f& v) {
|
|
||||||
|
Matrix4f translate(float x, float y) {
|
||||||
|
|
||||||
return Matrix4f(
|
return Matrix4f(
|
||||||
1.0f, 0.0f, 0.0f, v.x,
|
1.0f, 0.0f, 0.0f, x,
|
||||||
0.0f, 1.0f, 0.0f, v.y,
|
0.0f, 1.0f, 0.0f, y,
|
||||||
0.0f, 0.0f, 1.0f, 0.0f,
|
0.0f, 0.0f, 1.0f, 0.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f);
|
0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Matrix4f scale(const Vector2f& f) {
|
Matrix4f scale(float x, float y) {
|
||||||
|
|
||||||
return Matrix4f(
|
return Matrix4f(
|
||||||
f.x , 0.0f, 0.0f, 0.0f,
|
x , 0.0f, 0.0f, 0.0f,
|
||||||
0.0f, f.y , 0.0f, 0.0f,
|
0.0f, y , 0.0f, 0.0f,
|
||||||
0.0f, 0.0f, 1.0f, 0.0f,
|
0.0f, 0.0f, 1.0f, 0.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f);
|
0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue