mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 12:24:26 +02:00
remove redundant calls to reaverageVoxelColors() now only use recursion unwinding
This commit is contained in:
parent
a7f13aadab
commit
e57db88c07
1 changed files with 1 additions and 6 deletions
|
@ -261,7 +261,6 @@ void VoxelTree::deleteVoxelAt(float x, float y, float z, float s, bool stage) {
|
||||||
unsigned char* octalCode = pointToVoxel(x,y,z,s,0,0,0);
|
unsigned char* octalCode = pointToVoxel(x,y,z,s,0,0,0);
|
||||||
deleteVoxelCodeFromTree(octalCode, stage);
|
deleteVoxelCodeFromTree(octalCode, stage);
|
||||||
delete octalCode; // cleanup memory
|
delete octalCode; // cleanup memory
|
||||||
reaverageVoxelColors(rootNode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -365,9 +364,6 @@ void VoxelTree::deleteVoxelCodeFromTreeRecursion(VoxelNode* node, void* extraDat
|
||||||
childNode->stageForDeletion();
|
childNode->stageForDeletion();
|
||||||
} else {
|
} else {
|
||||||
node->deleteChildAtIndex(childIndex); // note: this will track dirtiness and lastChanged for this node
|
node->deleteChildAtIndex(childIndex); // note: this will track dirtiness and lastChanged for this node
|
||||||
if (_shouldReaverage) {
|
|
||||||
node->setColorFromAverageOfChildren();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// track our tree dirtiness
|
// track our tree dirtiness
|
||||||
|
@ -503,7 +499,6 @@ void VoxelTree::processRemoveVoxelBitstream(unsigned char * bitstream, int buffe
|
||||||
voxelCode+=voxelDataSize;
|
voxelCode+=voxelDataSize;
|
||||||
atByte+=voxelDataSize;
|
atByte+=voxelDataSize;
|
||||||
}
|
}
|
||||||
reaverageVoxelColors(rootNode); // Fix our colors!! Need to call it on rootNode
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VoxelTree::printTreeForDebugging(VoxelNode *startNode) {
|
void VoxelTree::printTreeForDebugging(VoxelNode *startNode) {
|
||||||
|
@ -552,6 +547,7 @@ void VoxelTree::printTreeForDebugging(VoxelNode *startNode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Note: this is an expensive call. Don't call it unless you really need to reaverage the entire tree (from startNode)
|
||||||
void VoxelTree::reaverageVoxelColors(VoxelNode *startNode) {
|
void VoxelTree::reaverageVoxelColors(VoxelNode *startNode) {
|
||||||
// if our tree is a reaveraging tree, then we do this, otherwise we don't do anything
|
// if our tree is a reaveraging tree, then we do this, otherwise we don't do anything
|
||||||
if (_shouldReaverage) {
|
if (_shouldReaverage) {
|
||||||
|
@ -785,7 +781,6 @@ void VoxelTree::createSphere(float radius, float xc, float yc, float zc, float v
|
||||||
thisRadius += thisVoxelSize;
|
thisRadius += thisVoxelSize;
|
||||||
thisVoxelSize = std::max(voxelSize, thisVoxelSize / 2.0f);
|
thisVoxelSize = std::max(voxelSize, thisVoxelSize / 2.0f);
|
||||||
}
|
}
|
||||||
this->reaverageVoxelColors(this->rootNode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int VoxelTree::searchForColoredNodes(int maxSearchLevel, VoxelNode* node, const ViewFrustum& viewFrustum, VoxelNodeBag& bag,
|
int VoxelTree::searchForColoredNodes(int maxSearchLevel, VoxelNode* node, const ViewFrustum& viewFrustum, VoxelNodeBag& bag,
|
||||||
|
|
Loading…
Reference in a new issue