Commit graph

260 commits

Author SHA1 Message Date
the_fiddler 99aab2fa2e Replaced calls to obsolete methods.
Fixed parameters in double versions of BaryCentric() (should be double instead of float).
2009-10-06 09:51:13 +00:00
the_fiddler 8992f90571 Replaced calls to obsolete methods.
Fixed parameters in double versions of BaryCentric() (should be double instead of float).
2009-10-06 09:51:13 +00:00
the_fiddler f2c91d4a7c Obsoleted Scale() instance method (reason: redundant. Mult()/Multiply() instance/static methods can be used to achieve the same effect). 2009-10-06 09:45:09 +00:00
the_fiddler f926595b64 Obsoleted Scale() instance method (reason: redundant. Mult()/Multiply() instance/static methods can be used to achieve the same effect). 2009-10-06 09:45:09 +00:00
the_fiddler 201b06931e Added vector overloads to Multiply and Divide methods.
Renamed Sub to Subtract, Mult to Multiply and Div to Divide (reason: conform with the class library design guidelines).
Obsoleted instance Add, Sub, Mult and Div methods in favor of static ones (reason: reduce API bloat, they are completely redudant).
Improved documentation for new methods.
2009-10-06 09:42:21 +00:00
the_fiddler 65c6b29918 Added vector overloads to Multiply and Divide methods.
Renamed Sub to Subtract, Mult to Multiply and Div to Divide (reason: conform with the class library design guidelines).
Obsoleted instance Add, Sub, Mult and Div methods in favor of static ones (reason: reduce API bloat, they are completely redudant).
Improved documentation for new methods.
2009-10-06 09:42:21 +00:00
the_fiddler 21bde35e61 Fixed formatting. 2009-10-06 08:57:48 +00:00
the_fiddler 6b79a2d251 Fixed formatting. 2009-10-06 08:57:48 +00:00
the_fiddler fb95f10458 Implemented Quaternion scaling by scalars. Fixes issue [#1131]: "[Math] add Quaternion scaling (easy)". 2009-09-05 16:17:47 +00:00
the_fiddler ce77b57566 Implemented Quaternion scaling by scalars. Fixes issue [#1131]: "[Math] add Quaternion scaling (easy)". 2009-09-05 16:17:47 +00:00
the_fiddler 376a1fca65 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 00930380b5 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 685b646efa Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +00:00
the_fiddler 33db1f6b74 Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +00:00
the_fiddler 48008d1e6a Removed this property to maintain parity with the Matrix4 structure. 2009-09-04 21:37:53 +00:00
the_fiddler 7601c2b57d Removed this property to maintain parity with the Matrix4 structure. 2009-09-04 21:37:53 +00:00
the_fiddler 6b03992812 Added missing XML documentation and fixed invalid XML doc references.
Removed deprecated methods from IGraphicsContext.
2009-09-04 21:25:29 +00:00
the_fiddler abf3787e8e Added missing XML documentation and fixed invalid XML doc references.
Removed deprecated methods from IGraphicsContext.
2009-09-04 21:25:29 +00:00
the_fiddler 6c5d3a90c3 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 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 1beceffa2a Added mathematical constants used by XNA (Pi, E, logarithms).
Removed unused code.
2009-08-14 14:15:30 +00:00
the_fiddler b240db8cd9 Added mathematical constants used by XNA (Pi, E, logarithms).
Removed unused code.
2009-08-14 14:15:30 +00:00
the_fiddler 87b2fe1a9d 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 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 16a05a1cf9 Merged fix for bug [#1060]: "Wrong XML Comment on the W property in Vector4[d]". 2009-08-01 14:24:47 +00:00
the_fiddler 276675fd9c Merged fix for bug [#1060]: "Wrong XML Comment on the W property in Vector4[d]". 2009-08-01 14:24:47 +00:00
the_fiddler 787d56f7cd Added NextPowerOfTwo float and double overloads. 2009-07-19 20:58:35 +00:00
the_fiddler 16dd351255 Added NextPowerOfTwo float and double overloads. 2009-07-19 20:58:35 +00:00
the_fiddler 55de62cd02 Replaced tabs with spaces. 2009-07-17 08:27:25 +00:00
the_fiddler 7726212921 Replaced tabs with spaces. 2009-07-17 08:27:25 +00:00
the_fiddler 170568c57d Fixed XML docs and remove unnecessary CLSCompliance attributes. 2009-06-28 10:52:58 +00:00
the_fiddler e8754784f8 Fixed XML docs and remove unnecessary CLSCompliance attributes. 2009-06-28 10:52:58 +00:00
the_fiddler 1bdc6b6634 Added missing XML docs. 2009-06-28 10:49:10 +00:00
the_fiddler e8cf64a177 Added missing XML docs. 2009-06-28 10:49:10 +00:00
the_fiddler c43407e77e Added several missing XML comments. 2009-06-28 10:33:32 +00:00
the_fiddler 9b17ee1559 Added several missing XML comments. 2009-06-28 10:33:32 +00:00
the_fiddler a28616db87 Added CreateFromAxisAngle method. 2009-06-26 21:45:26 +00:00
the_fiddler 33fb214266 Added CreateFromAxisAngle method. 2009-06-26 21:45:26 +00:00
the_fiddler 79686aa4dd Obsoleted Frustum and Perspective methods in favor of CreatePerspectiveOffCenter and CreatePerspectiveFieldOfView, respectively. 2009-06-25 22:47:01 +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 a7363b54e6 Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +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 74c45c479e Optimized Matrix4/Matrix4d.Mult by unrolling and inlining the multiplications. 2009-06-19 13:44:33 +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 8604913954 Optimized Matrix4.Mult by unrolling the multiplications. 2009-06-19 13:41:32 +00:00
the_fiddler 402e0e6714 Optimized Matrix4.Mult by unrolling the multiplications. 2009-06-19 13:41:32 +00:00
the_fiddler 70f735d2a6 Fixed Matrix4.CreateOrthographicOffCenter (M44 should be 1). 2009-06-08 22:46:18 +00:00
the_fiddler ade299156d Fixed Matrix4.CreateOrthographicOffCenter (M44 should be 1). 2009-06-08 22:46:18 +00:00
the_fiddler bf89289ad9 Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +00:00
the_fiddler 857003cd3f Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +00:00
the_fiddler 402230b61c Fixed a large amount of documentation warnings.
Marked several APIs as obsolete.
2009-06-04 11:22:20 +00:00
the_fiddler 5c40ce638d Fixed a large amount of documentation warnings.
Marked several APIs as obsolete.
2009-06-04 11:22:20 +00:00
the_fiddler 584fa7c761 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 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 dd84fddf19 Added new matrix constructors that take 16 distinct matrix elements. 2009-04-12 16:34:35 +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 9265747541 Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +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 39710404ee Fixed two instances where the obsolete XYZ attribute was being used. 2009-02-22 12:09:23 +00:00
the_fiddler 6545358593 Fixed two instances where the obsolete XYZ attribute was being used. 2009-02-22 12:09:23 +00:00
the_fiddler 144d5dd450 Hopefully fixed all remaining encoding problems. 2009-02-22 11:26:17 +00:00
the_fiddler 824a751762 Hopefully fixed all remaining encoding problems. 2009-02-22 11:26:17 +00:00
the_fiddler a22019d890 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 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 98edd251ba Fixed infinite recursion in Quaternion constructor (http://www.opentk.com/node/663). 2009-02-15 16:22:49 +00:00
the_fiddler 4ed886bbf2 Fixed infinite recursion in Quaternion constructor (http://www.opentk.com/node/663). 2009-02-15 16:22:49 +00:00
the_fiddler b40ccdc726 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +00:00
the_fiddler 501a728532 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +00:00
the_fiddler a594d261ff Changed the public fields to properties.
Renamed XYZ property to Xyz, in accordance to the guidelines for class libraries.
Added the SerializableAttribute.
2009-02-13 20:40:19 +00:00
the_fiddler cb461d90b0 Changed the public fields to properties.
Renamed XYZ property to Xyz, in accordance to the guidelines for class libraries.
Added the SerializableAttribute.
2009-02-13 20:40:19 +00:00
the_fiddler 527fb19364 Implemented IEquatable interface.
Fixed ToAxisAngle implementation at 0-degree angles.
Added ToAxisAngle overload that returns a Vector4 struct.
2009-02-13 19:53:46 +00:00
the_fiddler 5281902f60 Implemented IEquatable interface.
Fixed ToAxisAngle implementation at 0-degree angles.
Added ToAxisAngle overload that returns a Vector4 struct.
2009-02-13 19:53:46 +00:00
the_fiddler 92d79bb47b Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +00:00
the_fiddler e187ed5a18 Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +00:00
chrisbrandtner 493e52e05b Added explicit operators for converting single-precision Vector234 <-> double-precision Vector234d. 2009-02-13 13:26:39 +00:00
chrisbrandtner da7972ad37 Added explicit operators for converting single-precision Vector234 <-> double-precision Vector234d. 2009-02-13 13:26:39 +00:00
the_fiddler 4e82e450be Added (Vector3, float) and (Vector3d, double) constructors. 2009-01-29 00:41:09 +00:00
the_fiddler 989b0c81c6 Added (Vector3, float) and (Vector3d, double) constructors. 2009-01-29 00:41:09 +00:00
chrisbrandtner 0ab939a744 Added ref/out overloads to all static Vector*.Transform* methods. 2009-01-25 15:06:42 +00:00
chrisbrandtner d7498d62b4 Added ref/out overloads to all static Vector*.Transform* methods. 2009-01-25 15:06:42 +00:00
chrisbrandtner 5a3cd34953 Removed cast to float from Vector3d.CalculateAngle (unnecessary precision loss as double is returned).
Overloaded static Vector3 and Vector3d CalculateAngle methods.
2009-01-24 16:15:04 +00:00
chrisbrandtner 6c22e8522d Removed cast to float from Vector3d.CalculateAngle (unnecessary precision loss as double is returned).
Overloaded static Vector3 and Vector3d CalculateAngle methods.
2009-01-24 16:15:04 +00:00
chrisbrandtner 46f25f27a4 Overloaded instance methods Add, Sub, Scale to pass-vector-by-value and set CLS compliance flags.
Overloaded static method BaryCentric to pass-by-reference.
2009-01-24 14:54:52 +00:00
chrisbrandtner 8c56d505b7 Overloaded instance methods Add, Sub, Scale to pass-vector-by-value and set CLS compliance flags.
Overloaded static method BaryCentric to pass-by-reference.
2009-01-24 14:54:52 +00:00
chrisbrandtner 4e6a3cf981 Added instance methods to all single and double precision Vector structs:
Add(ref vec)
Sub(ref vec)
Mult(float)
Div(float)
Scale(ref vec)
2009-01-23 21:55:21 +00:00
chrisbrandtner 49e132911d Added instance methods to all single and double precision Vector structs:
Add(ref vec)
Sub(ref vec)
Mult(float)
Div(float)
Scale(ref vec)
2009-01-23 21:55:21 +00:00
chrisbrandtner 01e971741d Added ref/out overloads to static Vector*.Dot and Vector*.Lerp methods. Simplified the slow Vector3/Vector3d's static Cross methods. Occasional tweaks to inline documentation (spelling, consistency) 2009-01-23 15:04:53 +00:00
chrisbrandtner 1eee53da4f Added ref/out overloads to static Vector*.Dot and Vector*.Lerp methods. Simplified the slow Vector3/Vector3d's static Cross methods. Occasional tweaks to inline documentation (spelling, consistency) 2009-01-23 15:04:53 +00:00
the_fiddler 2e3b56f89c 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 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 e6303e9e5b Suppress cls-compliance warnings (should be restored when the code goes public). 2008-12-02 16:02:08 +00:00
the_fiddler a29d72fc90 Suppress cls-compliance warnings (should be restored when the code goes public). 2008-12-02 16:02:08 +00:00
the_fiddler 0dea16ebf8 Documented static public fields.
Added missing SizeInBytes field to Vector2 and Vector4.
2008-11-15 21:36:46 +00:00
the_fiddler 57ff9428d6 Documented static public fields.
Added missing SizeInBytes field to Vector2 and Vector4.
2008-11-15 21:36:46 +00:00
the_fiddler 175f5aab87 Added serializable attribute.
Added IEquatable interface and operator== overloads to Matrix4 and Vector* structs.
2008-07-10 14:01:38 +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 079bae2011 Apply Andy's patch on Matrix.Frustum and with skewed matrices. 2008-05-04 16:41:48 +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 706875c3de Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:50:48 +00:00
the_fiddler 6c690dc8c6 Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:50:48 +00:00
the_fiddler 9a70822c22 Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:43:35 +00:00
the_fiddler 0e85f2208d Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:43:35 +00:00
the_fiddler 40eae78855 Added George's patch with instance members for beziers. 2008-04-06 15:41:27 +00:00
the_fiddler b5959e0db5 Added George's patch with instance members for beziers. 2008-04-06 15:41:27 +00:00
the_fiddler b7214409cc Marked double precision math structures as internal (need more work before release). 2008-04-06 15:36:42 +00:00
the_fiddler 90f6523116 Marked double precision math structures as internal (need more work before release). 2008-04-06 15:36:42 +00:00
the_fiddler 5ff51ba9fe Moved OpenTK.OpenAL to OpenTK.Audio.
Added SoundReader class.
Added OpenTK.Math.Functions.NextPowerOfTwo 
Fixed several AL functions, and added overloads to AL.BufferData.
Added OpenAL wave playback sample.
2008-04-04 19:46:08 +00:00
the_fiddler 7001076f5a Moved OpenTK.OpenAL to OpenTK.Audio.
Added SoundReader class.
Added OpenTK.Math.Functions.NextPowerOfTwo 
Fixed several AL functions, and added overloads to AL.BufferData.
Added OpenAL wave playback sample.
2008-04-04 19:46:08 +00:00
the_fiddler 6553c71cb5 Fixed licenses. Resaved some docs as unicode. 2008-03-06 21:06:52 +00:00
the_fiddler 05d8f839e2 Fixed licenses. Resaved some docs as unicode. 2008-03-06 21:06:52 +00:00
the_fiddler f381438c8e Added Bezier Curves. Added Factorial and BinomialCoefficient to Functions.cs. Added Vector2d?.Perpendicular 2008-03-06 21:04:53 +00:00
the_fiddler c946bc6fb8 Added Bezier Curves. Added Factorial and BinomialCoefficient to Functions.cs. Added Vector2d?.Perpendicular 2008-03-06 21:04:53 +00:00
the_fiddler 40f32f4867 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler 878af03601 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler 3d2bc15a84 Documentation updates. Getting rid of warnings. 2008-01-20 19:00:03 +00:00
the_fiddler 5a66d44f19 Documentation updates. Getting rid of warnings. 2008-01-20 19:00:03 +00:00
the_fiddler 32f034b4d5 JTalton's new functions. 2008-01-20 17:26:40 +00:00
the_fiddler 41a7d2a90e JTalton's new functions. 2008-01-20 17:26:40 +00:00
the_fiddler d4a63df42b Added JTalton's double precision mathlib. 2008-01-20 17:14:12 +00:00
the_fiddler b80a67b687 Added JTalton's double precision mathlib. 2008-01-20 17:14:12 +00:00
the_fiddler 408c66dd5d Fixed Perspective implementation. 2007-12-31 12:16:39 +00:00
the_fiddler b05f8728aa Fixed Perspective implementation. 2007-12-31 12:16:39 +00:00
the_fiddler a60ac7204d Updated licensing information. 2007-11-10 23:29:25 +00:00
the_fiddler cba3413059 Updated licensing information. 2007-11-10 23:29:25 +00:00
the_fiddler 621cfbccec george's patch for camera and transform functions. 2007-11-10 18:53:25 +00:00
the_fiddler 47dad78e44 george's patch for camera and transform functions. 2007-11-10 18:53:25 +00:00
the_fiddler 8002ec7716 Added ToString() method. Added documentation. 2007-11-08 15:55:38 +00:00
the_fiddler 050eddbbd9 Added ToString() method. Added documentation. 2007-11-08 15:55:38 +00:00
the_fiddler dd4943e835 Added SizeInBytes readonly field. Made UnitX/Y/Z fields readonly. 2007-11-06 20:59:39 +00:00
the_fiddler 61b1a4f804 Added SizeInBytes readonly field. Made UnitX/Y/Z fields readonly. 2007-11-06 20:59:39 +00:00
the_fiddler 336e6210c8 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 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 9fd384420d Removed (IntPtr) and (float*) cast operators. Added this indexer (Vector3[0], Vector3[0] etc) 2007-11-06 14:01:35 +00:00
the_fiddler 5409a5d6b5 Removed (IntPtr) and (float*) cast operators. Added this indexer (Vector3[0], Vector3[0] etc) 2007-11-06 14:01:35 +00:00
the_fiddler e2b08d0bd6 Renamed Min/Max to ComponentMin/ComponentMax and added Min and Max functions based on vector length. 2007-11-06 14:00:03 +00:00
the_fiddler d25278e25e Renamed Min/Max to ComponentMin/ComponentMax and added Min and Max functions based on vector length. 2007-11-06 14:00:03 +00:00
the_fiddler f683cd5977 Added Box2 class. 2007-11-06 13:32:17 +00:00
the_fiddler 020a31bc81 Added Box2 class. 2007-11-06 13:32:17 +00:00
the_fiddler f96b2e4fbc New math classes by george. 2007-11-04 15:34:04 +00:00
the_fiddler cd1b48f207 New math classes by george. 2007-11-04 15:34:04 +00:00
the_fiddler a5cd312bc1 Completed the OpenTK.Math Vector[234] overhaul. Added LengthFast and NormalizeFast functions. Removed overloads. Made the pointer conversions explicit. 2007-10-24 23:40:06 +00:00
the_fiddler 95da49b8e8 Completed the OpenTK.Math Vector[234] overhaul. Added LengthFast and NormalizeFast functions. Removed overloads. Made the pointer conversions explicit. 2007-10-24 23:40:06 +00:00
the_fiddler 9bcf45632d Added InverseSqrtFast. Vector2.LengthFast uses this to approximate the magnitude. 2007-10-24 23:23:24 +00:00
the_fiddler 1d8e5545da Added InverseSqrtFast. Vector2.LengthFast uses this to approximate the magnitude. 2007-10-24 23:23:24 +00:00
the_fiddler bd4ac11548 Fixed compilation issue. Added OpenTK.Math.Functions. 2007-10-24 17:34:34 +00:00
the_fiddler b675c7e621 Fixed compilation issue. Added OpenTK.Math.Functions. 2007-10-24 17:34:34 +00:00
the_fiddler b80362c8b3 Improved the Vector2 interface. Vector2.Add/Sub/Dot/Scale no longer create temporary objects. Removed Vector3/4 overloads. 2007-10-24 17:26:05 +00:00
the_fiddler 9e5de11616 Improved the Vector2 interface. Vector2.Add/Sub/Dot/Scale no longer create temporary objects. Removed Vector3/4 overloads. 2007-10-24 17:26:05 +00:00
the_fiddler 2750081048 Vector and example updates. 2007-09-25 21:11:16 +00:00
the_fiddler a267b4a381 Vector and example updates. 2007-09-25 21:11:16 +00:00