mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 19:56:44 +02:00
added VoxelNodeBag
This commit is contained in:
parent
d6e27d8f2f
commit
a176753379
1 changed files with 15 additions and 15 deletions
|
@ -706,33 +706,33 @@ void VoxelSystem::falseColorizeDistanceFromView(ViewFrustum* viewFrustum) {
|
||||||
|
|
||||||
printf("--------- DEBUG TESTING ------------\n");
|
printf("--------- DEBUG TESTING ------------\n");
|
||||||
unsigned char* lastOctalCode = tree->rootNode->octalCode;
|
unsigned char* lastOctalCode = tree->rootNode->octalCode;
|
||||||
const int MAX_VOXEL_PACKET_SIZE=13; // nothing should fit...
|
//const int MAX_VOXEL_PACKET_SIZE=13; // test tight fit...
|
||||||
unsigned char* fullOutputBuffer = new unsigned char[MAX_VOXEL_PACKET_SIZE];
|
unsigned char* fullOutputBuffer = new unsigned char[MAX_VOXEL_PACKET_SIZE];
|
||||||
unsigned char* outputBuffer = fullOutputBuffer;
|
unsigned char* outputBuffer = fullOutputBuffer;
|
||||||
bool startedWriting = false;
|
bool startedWriting = false;
|
||||||
int bytesWritten = 0;
|
int bytesWritten = 0;
|
||||||
|
|
||||||
const int LIKELY_EXTRA_TREES = 10;
|
VoxelNodeBag bagOfTrees;
|
||||||
int sizeExtraTrees = LIKELY_EXTRA_TREES;
|
|
||||||
int countExtraTrees = 0;
|
|
||||||
VoxelNode** extraTrees = new VoxelNode*[sizeExtraTrees];
|
|
||||||
|
|
||||||
bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum,
|
bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
|
||||||
outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);
|
|
||||||
|
|
||||||
printf("--------- initial results ------------\n");
|
printf("--------- initial results ---- bytesWritten=%d ------------\n",bytesWritten);
|
||||||
outputBufferBits(fullOutputBuffer, bytesWritten, true);
|
outputBufferBits(fullOutputBuffer, bytesWritten, true);
|
||||||
printf("--------- DONE initial results ------------\n");
|
printf("--------- DONE initial results ------------\n");
|
||||||
|
|
||||||
printf("--------- extra trees ------------\n");
|
printf("--------- extra trees ------------\n");
|
||||||
printf("countExtraTrees=%d\n",countExtraTrees);
|
printf("bagOfTrees.count()=%d\n",bagOfTrees.count());
|
||||||
|
|
||||||
for(int i=0; i < countExtraTrees; i++) {
|
int countOfExtra = 0;
|
||||||
printf("processing extraTree[%d] countExtraTrees=%d\n", i, countExtraTrees);
|
while (!bagOfTrees.isEmpty()) {
|
||||||
VoxelNode* extraTree = extraTrees[i];
|
countOfExtra++;
|
||||||
bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum,
|
VoxelNode* extraTree = bagOfTrees.extract();
|
||||||
outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);
|
printf("processing countOfExtra=%d\n", countOfExtra);
|
||||||
printf("--------- extra results ------------\n");
|
|
||||||
|
bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
|
||||||
|
|
||||||
|
|
||||||
|
printf("--------- extra results ---- bytesWritten=%d ------------\n",bytesWritten);
|
||||||
outputBufferBits(fullOutputBuffer, bytesWritten, true);
|
outputBufferBits(fullOutputBuffer, bytesWritten, true);
|
||||||
printf("--------- DONE extra results ------------\n");
|
printf("--------- DONE extra results ------------\n");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue