Small cosmetic fixes to MakeBVH.
Remove the index member of BVElement, since it's redundant for the purpose of sorting. BVElement is now 32 bytes instead of 40, which should make things a bit better, as this data gets moved around during MakeBVH. Unfortunately, this has no measurable effect on the benchmark. PiperOrigin-RevId: 616806520 Change-Id: I3b8a28c42a4a21dc25985e63ac57764fdb669afa
This commit is contained in:
committed by
Copybara-Service
parent
acaf86a96f
commit
de918a8b2d
@@ -301,7 +301,6 @@ void mjCBoundingVolumeHierarchy::CreateBVH() {
|
||||
if (bvleaf_[i].conaffinity || bvleaf_[i].contype) {
|
||||
BVElement element;
|
||||
element.e = &bvleaf_[i];
|
||||
element.index = i;
|
||||
mjtNum vert[3] = {element.e->pos[0] - ipos_[0],
|
||||
element.e->pos[1] - ipos_[1],
|
||||
element.e->pos[2] - ipos_[2]};
|
||||
@@ -398,10 +397,10 @@ int mjCBoundingVolumeHierarchy::MakeBVH(
|
||||
axis = edges[axis] > edges[2] ? axis : 2;
|
||||
|
||||
// find median along the axis
|
||||
auto m = nelements/2;
|
||||
// Note: nth element performs a partial sort of elements
|
||||
// note: nth_element performs a partial sort of elements
|
||||
BVElementCompare compare;
|
||||
compare.axis = axis;
|
||||
int m = nelements / 2;
|
||||
std::nth_element(elements_begin, elements_begin + m, elements_end, compare);
|
||||
|
||||
// recursive calls
|
||||
|
||||
Reference in New Issue
Block a user