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