Commit graph

145 commits

Author SHA1 Message Date
the_fiddler 8af490627f Fixed a large number of recurring spelling mistakes in documentation (patch by iRBiS). Fixes issue [#1341]: "Vector4 constructor describes w component as z component + other spelling corrections". 2009-11-09 08:15:38 +00:00
the_fiddler aedb514b84 Fixed documentation which describes w components as z components (patch by iRBiS). 2009-11-09 08:12:34 +00:00
the_fiddler e35f9d5374 Disabled OpenTK.Point, Size and Rectangle structures that were meant to replace their System.Drawing implementations until the correct course of action can be determined. This change is too disruptive to existing applications, especially if they are also using Windows.Forms (see discussion here: http://www.opentk.com/node/1348). 2009-11-08 23:02:53 +00:00
the_fiddler 62fee03192 * Rectangle.cs: Fixed ToString formatting code. 2009-11-06 10:04:32 +00:00
the_fiddler c09c21dc64 Cleaned up a large number of documentation issues. 2009-11-04 20:48:02 +00:00
the_fiddler 6770e171ed Enabled System.Drawing.Point/Size/Rectangle replacements. 2009-11-04 19:10:32 +00:00
the_fiddler eb92aa8223 Implemented Tranform(Vector, Quaternion) overloads. Fixes issue [#1028]: "[Math] Add vector transformation by quaternion". 2009-11-03 12:20:21 +00:00
the_fiddler b5eb7fdb93 Deprecated Mult in favor of Multiply.
Modified operator * to use Multiply internally (reduces code duplication).
2009-11-03 12:11:51 +00:00
the_fiddler eeda1bf866 Fixed Vector3.Transform signature to return a Vector3, not a Vector4. It was previously impossible to transform a Vector3 structure without intermediate conversions to Vector4. 2009-11-03 11:45:20 +00:00
the_fiddler 4d3e84701c Modified Transform(ref Vector4, ref Matrix4, out Vector4) overload to work correctly when the ref and out parameters point to the same Vector4.
Modified Transform(Vector4, Matrix4): Vector4 to call the reference overload internally. Faster and reduces code duplication.
2009-11-03 11:41:36 +00:00
the_fiddler 1073c8ccac * Matrix4d.cs: M44 should be 1.0 to conform with GL.Ortho(). Fixes issue [#1307]: "GL.Ortho behaves other than combination of OpenTK.Matrix4d.CreateOrthographic and GL.MultMatrix". 2009-11-02 13:25:41 +00:00
the_fiddler 600f657b70 Improved interoperation with System.Drawing with new addition, subtraction and implicit conversion operators, as well as additional method overloads.
Only expose fields through public properties to allow for parameter validation.
2009-11-02 07:20:59 +00:00
the_fiddler ff572e83b7 Added experimental OpenTK.Point/Size/Rectangle alternatives to System.Drawing, to make OpenTK usable without referencing System.Drawing (disabled by default, #define EXPERIMENTAL to test). Modified a number of using directives and namespace qualifiers to accommodate this change. 2009-11-01 12:44:38 +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 34f36d579f Added missing CreatePerspectiveFieldOfView and CreatePerspectiveOffCenter methods (fixes issue [#1226]: "Matrix4d.CreatePerspectiveFieldOfView").
Replaced several instances of float values by double equivalents.
2009-10-13 21:33:59 +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 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 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 6b79a2d251 Fixed formatting. 2009-10-06 08:57:48 +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 00930380b5 Fixed XML documentation warnings. 2009-09-04 23:11:20 +00:00
the_fiddler 33db1f6b74 Fixed a large number of documentation warnings. 2009-09-04 21:44:39 +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 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 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 b240db8cd9 Added mathematical constants used by XNA (Pi, E, logarithms).
Removed unused code.
2009-08-14 14:15:30 +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 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 16dd351255 Added NextPowerOfTwo float and double overloads. 2009-07-19 20:58:35 +00:00
the_fiddler 7726212921 Replaced tabs with spaces. 2009-07-17 08:27:25 +00:00
the_fiddler e8754784f8 Fixed XML docs and remove unnecessary CLSCompliance attributes. 2009-06-28 10:52:58 +00:00
the_fiddler e8cf64a177 Added missing XML docs. 2009-06-28 10:49:10 +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 857003cd3f Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +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 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 6545358593 Fixed two instances where the obsolete XYZ attribute was being used. 2009-02-22 12:09:23 +00:00
the_fiddler 824a751762 Hopefully fixed all remaining encoding problems. 2009-02-22 11:26:17 +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 4ed886bbf2 Fixed infinite recursion in Quaternion constructor (http://www.opentk.com/node/663). 2009-02-15 16:22:49 +00:00
the_fiddler 501a728532 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +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 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 e187ed5a18 Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +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 989b0c81c6 Added (Vector3, float) and (Vector3d, double) constructors. 2009-01-29 00:41:09 +00:00
chrisbrandtner d7498d62b4 Added ref/out overloads to all static Vector*.Transform* methods. 2009-01-25 15:06:42 +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 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 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 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 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 a29d72fc90 Suppress cls-compliance warnings (should be restored when the code goes public). 2008-12-02 16:02:08 +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 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 6c690dc8c6 Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:50:48 +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 b5959e0db5 Added George's patch with instance members for beziers. 2008-04-06 15:41:27 +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 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 05d8f839e2 Fixed licenses. Resaved some docs as unicode. 2008-03-06 21:06:52 +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 878af03601 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler 5a66d44f19 Documentation updates. Getting rid of warnings. 2008-01-20 19:00:03 +00:00
the_fiddler 41a7d2a90e JTalton's new functions. 2008-01-20 17:26:40 +00:00
the_fiddler b80a67b687 Added JTalton's double precision mathlib. 2008-01-20 17:14:12 +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 050eddbbd9 Added ToString() method. Added documentation. 2007-11-08 15:55:38 +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 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 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 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 020a31bc81 Added Box2 class. 2007-11-06 13:32:17 +00:00
the_fiddler cd1b48f207 New math classes by george. 2007-11-04 15:34:04 +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 1d8e5545da Added InverseSqrtFast. Vector2.LengthFast uses this to approximate the magnitude. 2007-10-24 23:23:24 +00:00
the_fiddler b675c7e621 Fixed compilation issue. Added OpenTK.Math.Functions. 2007-10-24 17:34:34 +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 a267b4a381 Vector and example updates. 2007-09-25 21:11:16 +00:00
the_fiddler 146fef1135 Complete Vector2, Vector3 and Vector4 structs. 2007-09-25 15:46:52 +00:00
the_fiddler 27d8c47403 Fixed cast issues with Math.Sqrt. 2007-09-24 20:56:17 +00:00
the_fiddler d39787c9de Added length, normal and scale calculations. 2007-09-24 20:18:51 +00:00
the_fiddler 4b29b626b8 Vector23 math and operator overloads. 2007-09-24 20:11:44 +00:00
the_fiddler 0e3a330065 Added initial OpenTK.Math implementation. Contains Vector2, Vector3 and Vector4 structs. 2007-09-21 23:38:19 +00:00