summaryrefslogtreecommitdiffstats
path: root/tools/collada/collada.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-01-03 23:20:20 -0300
committerGitHub <noreply@github.com>2017-01-03 23:20:20 -0300
commit3a0c19d3f6ddb26359c95d84c376a8e6b1afd04d (patch)
tree8e313066ce55a3366cd6b972ff429372583cda28 /tools/collada/collada.cpp
parentf2e99826c0b1e8227644bfab0795d858c504d279 (diff)
parentbd7ba0b664fa98381db9ef8edb69ba211213d595 (diff)
downloadredot-engine-3a0c19d3f6ddb26359c95d84c376a8e6b1afd04d.tar.gz
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).
Diffstat (limited to 'tools/collada/collada.cpp')
-rw-r--r--tools/collada/collada.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/collada/collada.cpp b/tools/collada/collada.cpp
index c62affe5ad..204de45082 100644
--- a/tools/collada/collada.cpp
+++ b/tools/collada/collada.cpp
@@ -144,7 +144,7 @@ Transform Collada::Node::compute_transform(Collada &state) const {
case XForm::OP_ROTATE: {
if (xf.data.size()>=4) {
- xform_step.rotate(Vector3(xf.data[0],xf.data[1],xf.data[2]),-Math::deg2rad(xf.data[3]));
+ xform_step.rotate(Vector3(xf.data[0],xf.data[1],xf.data[2]),Math::deg2rad(xf.data[3]));
}
} break;
case XForm::OP_SCALE: {
@@ -1604,7 +1604,7 @@ Collada::Node* Collada::_parse_visual_instance_camera(XMLParser& parser) {
cam->camera= _uri_to_id(parser.get_attribute_value_safe("url"));
if (state.up_axis==Vector3::AXIS_Z) //collada weirdness
- cam->post_transform.basis.rotate(Vector3(1,0,0),Math_PI*0.5);
+ cam->post_transform.basis.rotate(Vector3(1,0,0),-Math_PI*0.5);
if (parser.is_empty()) //nothing else to parse...
return cam;
@@ -1625,7 +1625,7 @@ Collada::Node* Collada::_parse_visual_instance_light(XMLParser& parser) {
cam->light= _uri_to_id(parser.get_attribute_value_safe("url"));
if (state.up_axis==Vector3::AXIS_Z) //collada weirdness
- cam->post_transform.basis.rotate(Vector3(1,0,0),Math_PI*0.5);
+ cam->post_transform.basis.rotate(Vector3(1,0,0),-Math_PI*0.5);
if (parser.is_empty()) //nothing else to parse...
return cam;