未验证 提交 52b0b7fd 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #14378 from yaoyao-cn/dev

Optimize Frustum.intersectsBox
......@@ -140,8 +140,7 @@ Object.assign( Frustum.prototype, {
intersectsBox: function () {
var p1 = new Vector3(),
p2 = new Vector3();
var p = new Vector3();
return function intersectsBox( box ) {
......@@ -151,19 +150,12 @@ Object.assign( Frustum.prototype, {
var plane = planes[ i ];
p1.x = plane.normal.x > 0 ? box.min.x : box.max.x;
p2.x = plane.normal.x > 0 ? box.max.x : box.min.x;
p1.y = plane.normal.y > 0 ? box.min.y : box.max.y;
p2.y = plane.normal.y > 0 ? box.max.y : box.min.y;
p1.z = plane.normal.z > 0 ? box.min.z : box.max.z;
p2.z = plane.normal.z > 0 ? box.max.z : box.min.z;
//corner at max distance
p.x = plane.normal.x > 0 ? box.max.x : box.min.x;
p.y = plane.normal.y > 0 ? box.max.y : box.min.y;
p.z = plane.normal.z > 0 ? box.max.z : box.min.z;
var d1 = plane.distanceToPoint( p1 );
var d2 = plane.distanceToPoint( p2 );
// if both outside plane, no intersection
if ( d1 < 0 && d2 < 0 ) {
if ( plane.distanceToPoint( p ) < 0 ) {
return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册