diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-04-30 10:03:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-30 10:03:10 +0200 |
commit | deddf9c4f8135bd99b95a0a99788131cb6d5a0b0 (patch) | |
tree | 7b4d130d38500c6fc1957ceb9c453c8656bbfa55 /editor/node_3d_editor_gizmos.cpp | |
parent | a6e3c84c68c0d60430afef6694551526453ecd4c (diff) | |
parent | 87ba4daf4bd627af033b4fbd784f783d9c58988b (diff) |
Merge pull request #38344 from ExpiredPopsicle/culling5_master
Fixed false positives in the culling system (master branch version).
Diffstat (limited to 'editor/node_3d_editor_gizmos.cpp')
-rw-r--r-- | editor/node_3d_editor_gizmos.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/editor/node_3d_editor_gizmos.cpp b/editor/node_3d_editor_gizmos.cpp index 9a5df3e58f..5fcc783644 100644 --- a/editor/node_3d_editor_gizmos.cpp +++ b/editor/node_3d_editor_gizmos.cpp @@ -486,11 +486,12 @@ bool EditorNode3DGizmo::intersect_frustum(const Camera3D *p_camera, const Vector Vector<Plane> transformed_frustum; - for (int i = 0; i < 4; i++) { + for (int i = 0; i < p_frustum.size(); i++) { transformed_frustum.push_back(it.xform(p_frustum[i])); } - if (collision_mesh->inside_convex_shape(transformed_frustum.ptr(), transformed_frustum.size(), mesh_scale)) { + Vector<Vector3> convex_points = Geometry::compute_convex_mesh_points(p_frustum.ptr(), p_frustum.size()); + if (collision_mesh->inside_convex_shape(transformed_frustum.ptr(), transformed_frustum.size(), convex_points.ptr(), convex_points.size(), mesh_scale)) { return true; } } |