Commit graph

6149 commits

Author SHA1 Message Date
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
Juan Linietsky
76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -03:00
Juan Linietsky
b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
Juan Linietsky
3a0c19d3f6 Merge pull request #6865 from tagcup/godot_issue_6816
Use right handed coordinate system for rotation matrices and quaternions. Also fixed Euler angles (XYZ convention).
2017-01-03 23:20:20 -03: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
Rémi Verschelde
f2e99826c0 Merge pull request #7422 from lonesurvivor/master
Improvement to y_sort: make clear which item has to be drawn first
2017-01-03 14:45:16 +01:00
Rémi Verschelde
8acd058356 Travis: Disable OSX and iOS temporarily
They haven't been updated yet for GLES3 support, so they will fail
all the time.
2017-01-03 14:42:26 +01:00
lonesurvivor
8b8807e37d Improvement to y_sort: make clear which item has to be drawn first
when both have the same y coordinate (prevents possible flickering). Reapplying #7241 to the 3.0 code.
2017-01-03 10:35:30 +01:00
Juan Linietsky
3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -03: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
Juan Linietsky
ce26eb74bc Merge branch 'master' of https://github.com/godotengine/godot 2017-01-02 19:12:25 -03:00
Rémi Verschelde
45c5c89de9 Bump version to 3.0-alpha
WARNING: This branch is unstable and should not be used in
production for the time being.
See https://godotengine.org/article/warning-head-going-unstable
for more details.

To get the previous 2.2-alpha unreleased version, you can checkout
the '2.2' branch.
2017-01-02 23:02:25 +01: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
db46a34418 Revert "Bindings: Fix missing default value"
This reverts commit 068b58b3ce.
Same rationale as previous reverts.
2017-01-02 20:42:32 +01:00
Rémi Verschelde
b1e4c04cdc Revert "bind method canvas_item_set_sort_children_by_y"
This reverts commit 1f9e16119f.
Same rationale as previous revert.
2017-01-02 20:39:44 +01:00
Rémi Verschelde
ed518ff713 Revert "small improvement to y_sort: make clear which item has to be drawn first when two have the same y-coordinate"
This reverts commit 4118b21e43.
Same rationale as previous revert.
2017-01-02 20:39:25 +01:00
Rémi Verschelde
86b0669f4c Revert "Add/expose VisualServer::get_default_clear_color()"
This reverts commit 753ba67d65,
in preparation from the merge of the gles3 branch, as the VisualServer
code changed too much to port this commit over during merge conflicts
resolution. It could be readded afterwards.
2017-01-02 20:32:52 +01:00
Rémi Verschelde
dcc4ee21c1 Revert expression reduction from #7390
Fixes #7412.
2017-01-02 20:01:27 +01:00
Juan Linietsky
2820b2d82b fix stupid bug in light downscaling for GI Probe 2017-01-02 14:09:42 -03:00
Rémi Verschelde
c9366f8b56 Merge pull request #7410 from nounoursheureux/master
Add the 'finished' signal to AnimatedSprite
2017-01-02 15:54:58 +01:00
Rémi Verschelde
caddbbe174 Merge pull request #7390 from bojidar-bg/gdscript-assign-error
Disallow assignment to constants and expressions
2017-01-02 15:54:43 +01:00
Rémi Verschelde
ac04a932d6 Merge pull request #7364 from guilhermefelipecgs/fix_bottom_panel_visibility_on_play
Fix bottom panel visibility on play
2017-01-02 15:54:26 +01:00
Rémi Verschelde
b530904038 Merge pull request #7341 from bruno-ortiz/master
Bugfixes for Tree node
2017-01-02 15:53:43 +01:00
Rémi Verschelde
0b2771bd65 Merge pull request #7271 from Faless/ipv6_cleanup
Fixes and improvementes for IPv6 implementation.
2017-01-02 15:51:45 +01:00
Rémi Verschelde
6428ebd91f Merge pull request #7406 from neikeq/pr-issue-5076
TileMap: _update_dirty_quadrants() cancel pending update pre return
2017-01-02 15:11:23 +01:00
Rémi Verschelde
3fc4ee6243 Merge pull request #7401 from Zylann/bucket_fill_preview
Bucket fill preview
2017-01-02 14:47:08 +01:00
Rémi Verschelde
f50afe81d8 Merge pull request #7385 from bojidar-bg/tree-range-drag-lock
Fix #7098 by not accepting right clicks while dragging the range
2017-01-02 14:38:25 +01:00
Bruno Ortiz
4b9a96859b Making deselect work for TreeItem when select_mode is SELECT_SINGLE and item_selected is now properly emitted 2017-01-02 11:26:37 -02:00
Rémi Verschelde
3e1b5ad223 Merge pull request #7382 from volzhs/fix-visibility
Able to change visibility when ancestor node is hidden
2017-01-02 14:17:42 +01:00
Rémi Verschelde
1a2a57e2ee Merge pull request #7376 from volzhs/scroll-horizontal
Scroll horizontally with mouse wheel when horizontal enabled only
2017-01-02 13:52:31 +01:00
Rémi Verschelde
2e87232f0a Merge pull request #7391 from ktksgit/master
Update DebugMesh when NavMesh changes
2017-01-02 13:50:10 +01:00
Rémi Verschelde
0cf34cb3af Merge pull request #7372 from chanon/master
Fix ColorPicker not correctly updating after pasting hex html color
2017-01-02 13:48:03 +01:00
Rémi Verschelde
17bb7e1c7e Merge pull request #7363 from Elinvention/bone_attachment
Expose set_bone_name and get_bone_name to GDscript
2017-01-02 13:43:13 +01:00
Bruno Ortiz
7e0d0d0bb9 Exposing edit_resource method of EditorNode in the EditorPlugin (#7355) 2017-01-02 13:37:22 +01:00
Wilhem Barbier
f6262fde11 Add the 'finished' signal to AnimatedSprite 2017-01-02 12:24:37 +01:00
Juan Linietsky
741e038671 Add a metallic mode 2017-01-02 00:01:55 -03:00
Juan Linietsky
c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03: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
Ignacio Etcheverry
5b3acd287d TileMap: _update_dirty_quadrants() cancel pending update pre return 2017-01-01 21:08:12 +01:00
Marc Gilleron
39771f22b6 Added option to toggle bucket fill preview 2016-12-31 17:56:27 +01:00
Marc Gilleron
36d0281a2b Added bucket fill preview 2016-12-31 17:42:05 +01:00
Juan Linietsky
a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
reduz
f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
ktksgit
2807507325 Update DebugMesh when NavMesh changes
Fixes #7371
2016-12-29 12:16:36 +01:00
Bojidar Marinov
0b077162a3
Disallow assignment to constants and expressions
Fixes #6221, fixes #6824
2016-12-29 12:31:19 +02:00
Rémi Verschelde
86e428eea0 Merge pull request #7350 from volzhs/webp-0.5.2
Update libwebp to 0.5.2
2016-12-28 23:17:42 +01:00
Bojidar Marinov
d40eb1565e
Fix #7098 by not accepting right clicks while dragging the range 2016-12-28 23:20:54 +02:00
volzhs
f33e21e7af Show visual notice for visibility on Scene Dock 2016-12-28 22:12:08 +09:00
volzhs
792ff11642 Able to change visibility when ancestor node is hidden 2016-12-28 14:27:27 +09:00
volzhs
22b76511fb Scroll horizontally with mouse wheel when horizontal enabled only 2016-12-27 16:32:22 +09:00