Ferenc Arn
6b1252cdfa
Fix the order in which additional transformations are applied in Matrix3 and 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-08 10:36:14 -06:00
Ferenc Arn
bd7ba0b664
Use right handed coordinate system for rotation matrices and quaternions. 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-03 17:41:04 -06:00
Juan Linietsky
118eed485e
ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to 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-02 23:03:46 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
c7bc44d5ad
Welcome in 2017, dear changelog reader!
...
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!
2017-01-01 22:03:33 +01:00
Juan Linietsky
22a90e8f2a
DOF blur, near and far fields..
2016-12-10 01:13:20 -03:00
Juan Linietsky
a299c3ebf1
Support for SSAO
2016-12-04 12:45:30 -03:00
Juan Linietsky
cacf9ebb7f
all light types and shadows are working, pending a lot of clean-up
2016-11-09 23:55:06 -03:00
Rémi Verschelde
2ba1b58374
Merge pull request #7039 from RandomShaper/fix-triangulation
...
Clean/fix triangulation internals
2016-11-09 15:46:13 +01:00
SPTelur
df737ebb46
Some missing License notice has been added
2016-11-07 06:16:18 +06:00
Pedro J. Estébanez
0e1972aa51
Clean/fix triangulation internals
...
Drop unused variable
Remove commented-out code
Fix leak by using Vector instead of raw memory
2016-11-05 10:16:44 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
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-11-01 00:35:16 +01:00
Rémi Verschelde
89001369e7
Merge pull request #6751 from SuperUserNameMan/new_PRNG_for_rand_from_seed
...
xorshift32 PRNG for Math::rand_from_seed()
2016-10-30 10:49:22 +01:00
Juan Linietsky
4428115916
Everything returning to normal in 3D, still a long way to go
...
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
yg2f
a747c8ccee
xorshift32 PRNG for Math::rand_from_seed()
...
should fixes #1043
PRNG adapted from : http://excamera.com/sphinx/article-xorshift.html
2016-10-10 20:41:36 +02:00
Mateusz Adamczyk
8671836b76
Added simple check to viewport, if matrix32 is invesile ( https://github.com/godotengine/godot/issues/6296 ).
2016-10-08 12:33:10 +02:00
J08nY
deb36b44d1
Vector3: added angle_to(Vector3 other)
2016-10-03 13:41:59 +02:00
J08nY
f468cfc379
Vector3: format properly, fix indents
2016-10-03 13:41:45 +02:00
anneomcl
aa5ade834c
Fix for #6158 . Converting Vector2 to Size2 for scaling functions.
2016-09-19 23:31:45 -07:00
Juan Linietsky
827a9aa829
Added a generic AStar implementation to Godot.
...
It's pretty fast, use it for games where Navigation does not cut it.
2016-09-13 18:17:18 -03:00
Juan Linietsky
fc61eb37ce
Merge pull request #5920 from 29jm/fix-warnings
...
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky
23ababdcd5
Changed Vector3.snap from fmod to stepify, which makes more sense, fixes #6399
2016-09-06 19:14:47 -03:00
Ignacio Etcheverry
3578800230
Matrix32: Add constructor that takes six real_t params
2016-08-24 18:54:23 +02:00
Johan Manuel
67b29e3b9e
Fix some warnings about misleading indentation
2016-08-13 13:21:35 +02:00
Ignacio Etcheverry
2d4c4b6ea9
Fix regression with str() improvements for math types
2016-07-28 14:58:12 +02:00
Rémi Verschelde
c6c9f29827
Merge pull request #5921 from neikeq/pr-issue-5919
...
Prettier str() for some math types
2016-07-27 17:23:17 +02:00
Ignacio Etcheverry
eefca1ada9
Prettier str() for some math types
2016-07-27 17:00:07 +02:00
Juan Linietsky
9151eb591d
Changed the way the step decimals are computed to a safer way, fixes many issues.
2016-07-26 17:25:10 -03:00
Rémi Verschelde
308d405c31
Turn some prints to error logs, remove others
...
Fixes #5876 in passing.
2016-07-24 00:02:19 +02:00
Rémi Verschelde
f40f360a2c
Remove unused variables (fourth pass) + dead code
...
Also fix a potential regression from 3fcb9b1ec1
.
2016-07-08 16:47:55 +02:00
Juan Linietsky
d6225b1e00
Improved binding system (ObjectTypeDB::bind_method) to be friendlier to statically typed languages, should help in the Mono integration.
...
Disabled by default.
2016-06-22 23:13:41 -03:00
J08nY
449571b6cd
Remove USE_QUAD_VECTORS unused check
2016-06-19 00:41:52 +02:00
Rémi Verschelde
80727b6896
Drop empty .cpp files for header-only classes
...
Part of #5272
2016-06-18 20:00:08 +02:00
Rémi Verschelde
b7dbf9207a
Drop empty files that are not used anywhere
...
Part of #5272
2016-06-18 19:46:30 +02:00
Juan Linietsky
a75f896338
First version of Profiler
...
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Rémi Verschelde
6883325f92
math: Fix rounding error for 0 in Math::round ( #4495 )
...
Thus revert the previous workaround in commit b123bc4a2a
.
Fixes #3221 .
2016-05-01 11:37:46 +02:00
Hubert Jarosz
4a4f247914
remove trailing whitespace
2016-03-09 00:00:52 +01:00
sheepandshepherd
c88c60d08e
Correct octree's AABB intersect test, fixes #3576 and #3253
2016-02-17 20:06:40 +01:00
Juan Linietsky
7a931b4d3a
Fixed the decimals function, it can't be perfect but it should be good enough. Closes #1955
2016-01-03 19:18:47 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
reduz
555ad5f8b7
removed wron return types, fixes #2483
...
removed console, which was obsolete and unused sine long long ago
2015-12-29 18:46:21 -03:00
Juan Linietsky
1312df7fdc
implement point cloud function using convex hull for ConvexPolygonShape2D, fixes #2848
2015-12-14 09:06:53 -03:00
Juan Linietsky
d3eb9e8c54
-remove Vector2.atan2() replaced by Vector2.angle(), fixes #2260
2015-11-19 10:41:20 -03:00
Juan Linietsky
0c3386b2ed
Merge pull request #2707 from akien-mga/master
...
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Franklin Sobrinho
541812e999
Implement Quat multiply operator, and xform method
2015-11-11 11:30:55 -03:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky
0bc6a8894c
Merge pull request #2266 from MrGreenTea/master
...
added floor() and ceil() to Vector3
2015-10-17 12:10:32 -03:00
Rémi Verschelde
1e147c4945
Fix some copy-paste mistakes in linear/db volume functions
2015-09-26 21:06:12 +02:00
MrGreenTea
ec11762006
added floor() and ceil() to Vector3
2015-07-15 01:59:35 +02:00