summaryrefslogtreecommitdiff
path: root/core/math
AgeCommit message (Collapse)Author
2017-01-21WIP new AudioServer, with buses, effects, etc.Juan Linietsky
2017-01-20Merge pull request #7528 from tagcup/real_t_float_fixesJuan Linietsky
Use real_t rather than float or double in generic functions (core/mat…
2017-01-18Some changes in the header so Godot3 compiles again on Windows.BastiaanOlij
2017-01-16Overloaded basic math funcs (double and float variants). Use real_t rather ↵Ferenc Arn
than float or double in generic functions (core/math) whenever possible. Also inlined some more math functions.
2017-01-16Merge pull request #7532 from tagcup/pcg_prngRémi Verschelde
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16Fix compile errors related to audio on OSXBastiaanOlij
2017-01-16Style: Various fixes to play nice with clang-formatRémi Verschelde
2017-01-16Style: Fix statements ending with ';;'Rémi Verschelde
2017-01-16Style: Cleanups, added headers, renamed filesRémi Verschelde
Made sure files in core/ and tools/ have a proper Godot license header when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h} to rect3.{cpp,h} and class_db.{cpp,h} respectively. Also added a proper header to core/io/base64.{c,h} after clarifying the licensing with the original author (public domain).
2017-01-15Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant ↵Ferenc Arn
with 32-bit output, 64-bit state). PCG is better than many alternatives by many metrics (see www.pcg-random.org) including statistical quality with good speed.
2017-01-15Oops! Audio engine has vanished :DJuan Linietsky
2017-01-14Style: Fix whole-line commented codeRémi Verschelde
They do not play well with clang-format which aligns the `//` part with the rest of the code block, thus producing badly indented commented code.
2017-01-13Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method ↵Juan Linietsky
naming
2017-01-12made math functions inlnieJuan Linietsky
2017-01-11Type renames:Juan Linietsky
Matrix32 -> Transform2D Matrix3 -> Basis AABB -> Rect3 RawArray -> PoolByteArray IntArray -> PoolIntArray FloatArray -> PoolFloatArray Vector2Array -> PoolVector2Array Vector3Array -> PoolVector3Array ColorArray -> PoolColorArray
2017-01-10Merge pull request #7426 from m4nu3lf/bugfix/physicsJuan Linietsky
Fixed inertia tensor computation and center of mass
2017-01-10Merge pull request #7445 from tagcup/2d_math_fixesJuan Linietsky
Various corrections in 2D math.
2017-01-10Merge pull request #7438 from tagcup/matrix3_rotate_fixJuan Linietsky
Fix the order in which additional transformations are applied
2017-01-10Various corrections in 2D math.Ferenc Arn
This is the follow up for the 2D changes mentioned in PR #6865. It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly. Affected code in the Godot code base is also fixed in this commit. The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-09Fixed inertia tensor computation and center of massm4nu3lf
2017-01-08Fix the order in which additional transformations are applied in Matrix3 and ↵Ferenc Arn
Transform. This is a part of the breaking changes proposed in PR #6865, solving the issue regarding the order of affine transformations described in #2565. This PR also fixes the affected code within Godot codebase. Includes improvements to documentation too. Another change is, Matrix3::get_scale() will now return negative scaling when the determinant of the matrix is negative. The rationale behind this is simple: when performing a polar decomposition on a basis matrix M = R.S, we have to ensure that the determinant of R is +1, such that it is a proper rotation matrix (with no reflections) which can be represented by Euler angles or a quaternion. Also replaced the few instances of float with real_t in Matrix3 and Transform. Furthermore, this PR fixes an issue introduced due to the API breakage in #6865. Namely Matrix3::get_euler() now only works with proper rotation matrices. As a result, the code that wants to get the rotation portion of a transform needs to use Matrix3::get_rotation() introduced in this commit, which complements Matrix3::get_scaled(), providing both parts of the polar decomposition. Finally, it is now possible to construct a rotation matrix from Euler angles using the new constructor Matrix3::Matrix3(const Vector3 &p_euler).
2017-01-07Memory pool vectors (DVector) have been enormously simplified in code, and ↵Juan Linietsky
renamed to PoolVector
2017-01-03Use right handed coordinate system for rotation matrices and quaternions. ↵Ferenc Arn
Also fixes Euler angles (XYZ convention, which is used as default by Blender). Furthermore, functions which expect a rotation matrix will now give an error simply, rather than trying to orthonormalize such matrices. The documentation for such functions has be updated accordingly. This commit breaks code using 3D rotations, and is a part of the breaking changes in 2.1 -> 3.0 transition. The code affected within Godot code base is fixed in this commit.
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-02Merge remote-tracking branch 'origin/gles3' into gles3-on-masterRémi Verschelde
Various merge conflicts have been fixed manually and some mistakes might have been made - time will tell :)
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-12-10DOF blur, near and far fields..Juan Linietsky
2016-12-04Support for SSAOJuan Linietsky
2016-11-09all light types and shadows are working, pending a lot of clean-upJuan Linietsky
2016-11-09Merge pull request #7039 from RandomShaper/fix-triangulationRémi Verschelde
Clean/fix triangulation internals
2016-11-07Some missing License notice has been addedSPTelur
2016-11-05Clean/fix triangulation internalsPedro J. Estébanez
Drop unused variable Remove commented-out code Fix leak by using Vector instead of raw memory
2016-11-01style: Fix PEP8 whitespace issues in Python filesRémi Verschelde
Done with `autopep8 --select=E2,W2`, fixes: - E201 - Remove extraneous whitespace. - E202 - Remove extraneous whitespace. - E203 - Remove extraneous whitespace. - E211 - Remove extraneous whitespace. - E221 - Fix extraneous whitespace around keywords. - E222 - Fix extraneous whitespace around keywords. - E223 - Fix extraneous whitespace around keywords. - E224 - Remove extraneous whitespace around operator. - E225 - Fix missing whitespace around operator. - E226 - Fix missing whitespace around operator. - E227 - Fix missing whitespace around operator. - E228 - Fix missing whitespace around operator. - E231 - Add missing whitespace. - E231 - Fix various deprecated code (via lib2to3). - E241 - Fix extraneous whitespace around keywords. - E242 - Remove extraneous whitespace around operator. - E251 - Remove whitespace around parameter '=' sign. - E261 - Fix spacing after comment hash. - E262 - Fix spacing after comment hash. - E265 - Format block comments. - E271 - Fix extraneous whitespace around keywords. - E272 - Fix extraneous whitespace around keywords. - E273 - Fix extraneous whitespace around keywords. - E274 - Fix extraneous whitespace around keywords. - W291 - Remove trailing whitespace. - W293 - Remove trailing whitespace.
2016-10-30Merge pull request #6751 from SuperUserNameMan/new_PRNG_for_rand_from_seedRémi Verschelde
xorshift32 PRNG for Math::rand_from_seed()
2016-10-19Everything returning to normal in 3D, still a long way to goJuan Linietsky
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-17SCsub: Add python shebang as a hint for syntax highlightingRémi Verschelde
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-10xorshift32 PRNG for Math::rand_from_seed()yg2f
should fixes #1043 PRNG adapted from : http://excamera.com/sphinx/article-xorshift.html
2016-10-08Added simple check to viewport, if matrix32 is invesile ↵Mateusz Adamczyk
(https://github.com/godotengine/godot/issues/6296).
2016-10-03Vector3: added angle_to(Vector3 other)J08nY
2016-10-03Vector3: format properly, fix indentsJ08nY
2016-09-19Fix for #6158. Converting Vector2 to Size2 for scaling functions.anneomcl
2016-09-13Added a generic AStar implementation to Godot.Juan Linietsky
It's pretty fast, use it for games where Navigation does not cut it.
2016-09-10Merge pull request #5920 from 29jm/fix-warningsJuan Linietsky
Fix some more warnings
2016-09-06Changed Vector3.snap from fmod to stepify, which makes more sense, fixes #6399Juan Linietsky
2016-08-24Matrix32: Add constructor that takes six real_t paramsIgnacio Etcheverry
2016-08-13Fix some warnings about misleading indentationJohan Manuel
2016-07-28Fix regression with str() improvements for math typesIgnacio Etcheverry
2016-07-27Merge pull request #5921 from neikeq/pr-issue-5919Rémi Verschelde
Prettier str() for some math types
2016-07-27Prettier str() for some math typesIgnacio Etcheverry
2016-07-26Changed the way the step decimals are computed to a safer way, fixes many ↵Juan Linietsky
issues.