Commit graph

38 commits

Author SHA1 Message Date
the_fiddler 4be74af5d4 Modified TransformPerspective to work correctly with orthographic projection matrices. Fixes issue [#1827]: "OpenTK.Vector3.TransformPerspective code is wrong". 2010-11-21 00:09:50 +00:00
the_fiddler c89f8e375e Added 1-parameter constructors. 2010-11-15 22:34:52 +00:00
the_fiddler bbe606da53 Vector3(d).Cross: do not modify 'result' more than once to ensure that Cross(ref a, ref b, out a) works correctly.
Optimized vector-quaternion transform. Fixes issue [#1373]: "[Math] optimize Vector transform by Quaternion".
2009-11-16 13:23:04 +00:00
the_fiddler 0605607e6a Changed vector-quaternion transformations to use standard q * v * q^-1 convention. Fixes issue [#1372]: "[Math] Vector transformation by Quaternion follows non-standard quaternion math convention". 2009-11-16 13:00:42 +00:00
the_fiddler 01bb1971e4 * Vector4.cs:
* Vector3.cs:
* Vector2.cs:
* Vector4d.cs:
* Vector3d.cs:
* Vector2d.cs: Removed code using C# 3.0 features.
2009-11-11 22:37:04 +00:00
the_fiddler 70140e62ef Implemented Tranform(Vector, Quaternion) overloads. Fixes issue [#1028]: "[Math] Add vector transformation by quaternion". 2009-11-03 12:20:21 +00:00
the_fiddler 9ce7437cbd 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 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 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 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 376a1fca65 Fixed XML documentation warnings. 2009-09-04 23:11:20 +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 a7363b54e6 Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler bf89289ad9 Added static readonly Vector[234]d?.One properties. 2009-06-04 16:51:45 +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 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 b40ccdc726 Marked the swizzle properties with the XmlIgnoreAttribute. 2009-02-13 20:40:57 +00:00
the_fiddler 92d79bb47b Added Xy and Xyz swizzle operators. 2009-02-13 19:51:35 +00:00
chrisbrandtner 0ab939a744 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 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 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 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
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 0dea16ebf8 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 9a70822c22 Added George's patch which fixes some region strings, and adds PerpendicularLeft. 2008-04-06 15:43:35 +00:00
the_fiddler a60ac7204d 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 dd4943e835 Added SizeInBytes readonly field. Made UnitX/Y/Z fields readonly. 2007-11-06 20:59:39 +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 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 f96b2e4fbc 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 2750081048 Vector and example updates. 2007-09-25 21:11:16 +00:00
the_fiddler 038f9a4b08 Complete Vector2, Vector3 and Vector4 structs. 2007-09-25 15:46:52 +00:00
the_fiddler da03090ffa Vector23 math and operator overloads. 2007-09-24 20:11:44 +00:00
the_fiddler 1c893bdbb5 Added initial OpenTK.Math implementation. Contains Vector2, Vector3 and Vector4 structs. 2007-09-21 23:38:19 +00:00