History

added VoxelNodeBag

ZappoMan committed 13 years ago

Commit a1767531 parent d6e27d81 file · +16 −16Browse files

Showing the changes to interface/src/VoxelSystem.cpp (1 of 1 file). Show all

Unified · Split

interface/src/VoxelSystem.cpp+16−16
@@ -706,33 +706,33 @@ void VoxelSystem::falseColorizeDistanceFromView(ViewFrustum* viewFrustum) { · 705 unmodified lines
706 706
707 printf("--------- DEBUG TESTING ------------\n");707 printf("--------- DEBUG TESTING ------------\n");
708 unsigned char* lastOctalCode = tree->rootNode->octalCode;708 unsigned char* lastOctalCode = tree->rootNode->octalCode;
709 const int MAX_VOXEL_PACKET_SIZE=13; // nothing should fit...709 //const int MAX_VOXEL_PACKET_SIZE=13; // test tight fit...
710 unsigned char* fullOutputBuffer = new unsigned char[MAX_VOXEL_PACKET_SIZE];710 unsigned char* fullOutputBuffer = new unsigned char[MAX_VOXEL_PACKET_SIZE];
711 unsigned char* outputBuffer = fullOutputBuffer;711 unsigned char* outputBuffer = fullOutputBuffer;
712 bool startedWriting = false;712 bool startedWriting = false;
713 int bytesWritten = 0;713 int bytesWritten = 0;
714 714
715 const int LIKELY_EXTRA_TREES = 10;715 VoxelNodeBag bagOfTrees;
716 int sizeExtraTrees = LIKELY_EXTRA_TREES;
717 int countExtraTrees = 0;
718 VoxelNode** extraTrees = new VoxelNode*[sizeExtraTrees];
719 716
720 bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum, 717 bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
721 outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);
722 718
723 printf("--------- initial results ------------\n");719 printf("--------- initial results ---- bytesWritten=%d ------------\n",bytesWritten);
724 outputBufferBits(fullOutputBuffer, bytesWritten, true);720 outputBufferBits(fullOutputBuffer, bytesWritten, true);
725 printf("--------- DONE initial results ------------\n");721 printf("--------- DONE initial results ------------\n");
726 722
727 printf("--------- extra trees ------------\n");723 printf("--------- extra trees ------------\n");
728 printf("countExtraTrees=%d\n",countExtraTrees);724 printf("bagOfTrees.count()=%d\n",bagOfTrees.count());
729 725
730 for(int i=0; i < countExtraTrees; i++) {726 int countOfExtra = 0;
731 printf("processing extraTree[%d] countExtraTrees=%d\n", i, countExtraTrees);727 while (!bagOfTrees.isEmpty()) {
732 VoxelNode* extraTree = extraTrees[i];728 countOfExtra++;
733 bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum, 729 VoxelNode* extraTree = bagOfTrees.extract();
734 outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);730 printf("processing countOfExtra=%d\n", countOfExtra);
735 printf("--------- extra results ------------\n");731
732 bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
733
734
735 printf("--------- extra results ---- bytesWritten=%d ------------\n",bytesWritten);
736 outputBufferBits(fullOutputBuffer, bytesWritten, true);736 outputBufferBits(fullOutputBuffer, bytesWritten, true);
737 printf("--------- DONE extra results ------------\n");737 printf("--------- DONE extra results ------------\n");
738 738