diff options
author | Juan Linietsky <reduzio@gmail.com> | 2019-01-26 19:09:48 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2019-01-26 19:10:11 -0300 |
commit | 1253b9c038277aebfb5a4cc11685823f2331a26b (patch) | |
tree | 5c3bda05bc8bcc30e4d981512ed5d0d9ba11fa94 | |
parent | c3b0ee59412f16427194518f5261eeb7cf002606 (diff) |
Add a check to help find transforms that are passes invalid.
-rw-r--r-- | servers/visual/visual_server_scene.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 23ad2ec1ec..d2046241f0 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -573,6 +573,19 @@ void VisualServerScene::instance_set_transform(RID p_instance, const Transform & if (instance->transform == p_transform) return; //must be checked to avoid worst evil +#ifdef DEBUG_ENABLED + + for (int i = 0; i < 4; i++) { + const Vector3 &v = i < 3 ? p_transform.basis.elements[i] : p_transform.origin; + ERR_FAIL_COND(Math::is_inf(v.x)); + ERR_FAIL_COND(Math::is_nan(v.x)); + ERR_FAIL_COND(Math::is_inf(v.y)); + ERR_FAIL_COND(Math::is_nan(v.y)); + ERR_FAIL_COND(Math::is_inf(v.z)); + ERR_FAIL_COND(Math::is_nan(v.z)); + } + +#endif instance->transform = p_transform; _instance_queue_update(instance, true); } |