Commit graph

43 commits

Author SHA1 Message Date
Neil White fc1a8e022b Fix for setting Matrix/Vector values by Index
Many Matrix*/Vector* implementations were throwing
IndexOutOfBoundsException when you tried to set their values via their
indexer due to a missing else statement.
2013-09-24 15:46:34 +01:00
Robert Rouhani d479e3768b Added Quaternion.FromMatrix
Added a Diagonal and Trace property to all matrices
Added missing doc comments in the matrix classes to reduce the number of compiler warnings
2013-07-18 12:58:43 -07:00
Tom Edwards b38c81a458 Added Matrix clearing methods
- Added ClearTranslation(), ClearScale(), ClearRotation() and
ClearProjection()
- Added ExtractProjection() to Matrix4
- Fixed ExtractScale() giving incorrect results if a Matrix4 contained
projection data
- Added setters to Matrix4d's Column properties
2013-04-11 22:23:43 +01:00
Tom Edwards ca7e2c9c4b Copied Matrix4 changes to other classes
* Removed  pointless LengthSquared check from ExtractRotation()
* Improved inline documentation
2013-03-20 12:44:12 +00:00
Tom Edwards 498b659d58 Changes suggested by Rob Rouhani
* Turned the new Matrix4 properties into methods
* Matrix4.Normalize() now behaves correctly. ExtractRotation() does its
own row normalisation.
2013-03-19 15:28:31 +00:00
Tom Edwards b20b21d228 A couple more maths functions 2013-02-23 18:26:34 +00:00
Tom Edwards 11114ca4ea Extra maths features
- Added TranslationPart, ScalePart and RotationPart properties to
Matrix4
- Added Normalized() to Vector2/3/4, Quaternion and Matrix
2013-02-18 18:46:26 +00:00
Robert Rouhani 31ba0a36b9 Matrix4x2 implementation and documenting the other matrix classes. 2013-01-20 16:38:25 -05:00
Robert Rouhani 5438f941dc More work on matrices.
Fixed some static fields in the math classes that weren't also readonly.
2013-01-19 15:06:51 -08:00
Robert Rouhani 84a03e965c Matrix2 implementation
Started on Matrix2x3 implementation
Minor changes to Matrix3 and Matrix4
2013-01-19 00:29:22 -08:00
Robert Rouhani 8b8ded3232 Added very basic implementations of all possible matrix sizes up to 4x4
Moved the indexers out of the Properties region and into their own Indexers region
2013-01-18 19:21:24 -08:00
Robert Rouhani afefc93fc6 Fixed bug in Matrix4.LookAt. 2013-01-18 15:13:36 -08:00
Robert Rouhani bf1401e115 Fixed the issues caused by merging in our changes as patches from the old repo. 2013-01-16 18:08:03 -08:00
Robert Rouhani 56e75748b5 Added ref/out overload for Matrix4.Invert 2013-01-16 17:49:26 -08:00
Robert Rouhani 7a0634814e Matrix4 optimizations 2013-01-16 17:45:10 -08:00
Andy Korth 1939bc789d Added index getters and settors for Vector and Matrix classes 2013-01-03 10:39:15 -06:00
Andy Korth 0c7c1e8bd9 Add Create from quaternion method from avc81, OpenTK Issue 2439 2013-01-03 10:19:06 -06:00
the_fiddler d0cd45e6d0 Optimized Matrix4(d).Mult for a 7x speedup. Code courtesy of http://www.edais.co.uk/blog/?p=27 2011-09-04 20:52:42 +00:00
the_fiddler 8e88dbb352 Relaxed parameter checks for CreatePerspectiveFieldOfView. Fixes issue [#1693]: "CreatePerspectiveFieldOfView throws in valid cases". 2010-11-21 00:15:18 +00:00
the_fiddler 83514567f4 Corrected documentation on the M42 property. Fixes issue [#1227]: "Matrix4.M42 documentation". 2009-10-14 18:30:12 +00:00
the_fiddler 00930380b5 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 72f0fb86da Added missing Matrix4./Matrix4d.CreateRotation[XYZ] methods.
Added missing Matrix4d.CreateFromAxisAngle method.
Fixed Matrix4d constructor to take double parameters instead of float.
2009-09-04 13:02:23 +00:00
the_fiddler 3cfc3906b8 Obsoleted OpenTK.Functions in favor of OpenTK.MathHelper (reason: XNA compatibility).
Added Matrix4.LookAt overload that does not use Vector3 parameters.
2009-08-14 12:37:18 +00:00
the_fiddler 7726212921 Replaced tabs with spaces. 2009-07-17 08:27:25 +00:00
the_fiddler 9b17ee1559 Added several missing XML comments. 2009-06-28 10:33:32 +00:00
the_fiddler 33fb214266 Added CreateFromAxisAngle method. 2009-06-26 21:45:26 +00:00
the_fiddler 42374a73d4 Obsoleted Frustum and Perspective methods in favor of CreatePerspectiveOffCenter and CreatePerspectiveFieldOfView, respectively. 2009-06-25 22:47:01 +00:00
the_fiddler df6671cb4a Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler 3f9470e562 Optimized Matrix4/Matrix4d.Mult by unrolling and inlining the multiplications. 2009-06-19 13:44:33 +00:00
the_fiddler 402e0e6714 Optimized Matrix4.Mult by unrolling the multiplications. 2009-06-19 13:41:32 +00:00
the_fiddler ade299156d Fixed Matrix4.CreateOrthographicOffCenter (M44 should be 1). 2009-06-08 22:46:18 +00:00
the_fiddler 4129b676e5 Added M11-M44 properties to Matrix4 and Matrix4d.
Implemented CreateOrthographic and CreateOrthographicOffCenter static methods. Fixes issue [#676]: "Add Matrix4.Ortho method" (http://www.opentk.com/node/676).
Implemented CreateTranslation methods. Obsoleted Translation() in favor of the new methods.
2009-05-29 16:44:12 +00:00
the_fiddler 045cc93154 Added new matrix constructors that take 16 distinct matrix elements. 2009-04-12 16:34:35 +00:00
the_fiddler d4aef922bc Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +00:00
the_fiddler 69b17fa43f Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler 969d66e9f1 Added OpenEXR terms to the License.
Added Half and Vector[234]h structs.
Added Vector[234]d, Matrix4d and Quaterniond structs.
2008-12-09 20:45:18 +00:00
the_fiddler 2af017c3ea Added serializable attribute.
Added IEquatable interface and operator== overloads to Matrix4 and Vector* structs.
2008-07-10 14:01:38 +00:00
the_fiddler 59e8c4be14 Apply Andy's patch on Matrix.Frustum and with skewed matrices. 2008-05-04 16:41:48 +00:00
the_fiddler b05f8728aa Fixed Perspective implementation. 2007-12-31 12:16:39 +00:00
the_fiddler cba3413059 Updated licensing information. 2007-11-10 23:29:25 +00:00
the_fiddler 47dad78e44 george's patch for camera and transform functions. 2007-11-10 18:53:25 +00:00
the_fiddler ef8873904e Throw exception when encountering a singular matrix on matrix inversion. Add indexer: (Matrix4[i, j]) (not implemented yet) 2007-11-06 14:03:05 +00:00
the_fiddler cd1b48f207 New math classes by george. 2007-11-04 15:34:04 +00:00