Skip to content

Commit 5a52189

Browse files
madrazominggo
authored and
minggo
committed
small BillBoard optimizations (#17825)
* small BillBoard optimizations -Quick return in visit if it is not visible and has no children. -Comment out getNodeToWorldTransform because it is death code (doesn't do anything) * remove unused rotationQuaternion
1 parent a24b40a commit 5a52189

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

cocos/3d/CCBillBoard.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ void BillBoard::visit(Renderer *renderer, const Mat4& parentTransform, uint32_t
103103
return;
104104
}
105105
bool visibleByCamera = isVisitableByVisitingCamera();
106+
// quick return if not visible by camera and has no children.
107+
if (!visibleByCamera && _children.empty())
108+
{
109+
return;
110+
}
106111

107112
uint32_t flags = processParentFlags(parentTransform, parentFlags);
108113

@@ -185,10 +190,7 @@ bool BillBoard::calculateBillboardTransform()
185190
camDir.set(camWorldMat.m[8], camWorldMat.m[9], camWorldMat.m[10]);
186191
}
187192
camDir.normalize();
188-
189-
Quaternion rotationQuaternion;
190-
this->getNodeToWorldTransform().getRotation(&rotationQuaternion);
191-
193+
192194
Mat4 rotationMatrix;
193195
rotationMatrix.setIdentity();
194196

0 commit comments

Comments
 (0)