summaryrefslogtreecommitdiff
path: root/editor/node_3d_editor_gizmos.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-04-30 10:03:10 +0200
committerGitHub <noreply@github.com>2020-04-30 10:03:10 +0200
commitdeddf9c4f8135bd99b95a0a99788131cb6d5a0b0 (patch)
tree7b4d130d38500c6fc1957ceb9c453c8656bbfa55 /editor/node_3d_editor_gizmos.cpp
parenta6e3c84c68c0d60430afef6694551526453ecd4c (diff)
parent87ba4daf4bd627af033b4fbd784f783d9c58988b (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.cpp5
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;
}
}