Added Transform objects to love.math (resolves issue #1228).

- Added love.math.newTransform.
- Added love.graphics.applyTransform and love.graphics.replaceTransform.
- love.graphics.draw/print/printf, Text:add/addf, and SpriteBatch:add can accept a Transform argument.
- love.graphics.push can accept an optional Transform as a second argument, which will apply the Transform after pushing the matrix stack,
- Shader:send can accept Transform objects when sending to a mat4 uniform variable.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2016-11-24 21:30:45 -04:00
parent 9d2ee6d909
commit 14aa6965b3
19 changed files with 820 additions and 94 deletions
+9
View File
@@ -52,6 +52,12 @@ public:
**/
Matrix4(float t00, float t10, float t01, float t11, float x, float y);
/**
* Creates a new matrix from the specified elements. Be sure to pass
* exactly 16 elements in!
**/
Matrix4(const float elements[16]);
/**
* Creates a new matrix set to a transformation.
**/
@@ -182,6 +188,9 @@ public:
template <typename V>
void transform(V *dst, const V *src, int size) const;
/**
* Computes and returns the inverse of the matrix.
**/
Matrix4 inverse() const;
/**