1740 Commits

Author SHA1 Message Date
David Williams
e35b58ba18 Fixed paging example. 2013-07-31 15:49:00 +02:00
David Williams
4478e365c9 Removed RLECompressor as the code is now in RLEBlockCompressor.
Things are starting to get back under control. All tests pass, and all examples except PagingExample work.
2013-07-30 17:01:27 +02:00
David Williams
fa8813ba86 FilePager now cleans up after itself. 2013-07-30 16:34:40 +02:00
David Williams
d1138dcdb1 Some new block compression code as I rework the previous code... 2013-07-30 16:01:03 +02:00
David Williams
020ac9655a Added random prefix to filename to prevent name conflicts. 2013-07-30 15:42:51 +02:00
David Williams
a4fc814a51 Rearranging and renaming some code. 2013-07-29 16:04:01 +02:00
David Williams
00fab818cc Added define to switch between SimpleVolume and LargeVolume in Cubiquity. This is an abuse of Typedef.h but it's a convenient location and just for temporary testing purposes. It won't get merged back into PolyVox. 2013-07-28 16:45:08 +02:00
David Williams
0c8013317e Added asserts to catch corrupt data probably resulting from multithreading. 2013-07-28 16:43:43 +02:00
David Williams
a10fcf8ecc Small changes for debugging Cubiquity. 2013-07-27 15:02:16 +02:00
David Williams
ef59f329b6 Reorganising compression code. 2013-07-26 16:25:50 +02:00
David Williams
f54532a905 Started moving compression code into separate class. 2013-07-26 16:00:29 +02:00
David Williams
c3c4ead1f3 Work on paging to files. 2013-07-26 15:38:03 +02:00
David Williams
b767d9b896 Tidying up. 2013-07-25 17:07:50 +02:00
David Williams
f4f85551c6 Starting some refactoring of the LargeVolume such that the uncompressed blocks are the 'main' representation, rather than the compressed block being the main version and the uncompressed blocks simply being a cached version. I hope this simplifies and improves the code. 2013-07-25 15:51:30 +02:00
David Williams
cf9b54e5ab Properly deleting data (delete vs. delete[]). 2013-07-24 16:53:40 +02:00
David Williams
b07dafc9fa Added code to initilise empty compressed blocks. 2013-07-24 16:39:31 +02:00
David Williams
69066a068e Implemented flushExcessiveCacheEntries() 2013-07-23 13:48:04 +02:00
David Williams
7c11a53484 Fixed flushOldestExcessiveBlocks(). 2013-07-23 13:31:24 +02:00
David Williams
7146b5ecdb The idea of a 'setTargetMemoryLimitInBytes' function was not really working out. It was too comp-lex and not really clear what the ideal size would be. I think user code needs to call setMaxNumberOfBlocksInMemory() and setMaxNumberOfUncompressedBlocks() directly, if they see from profiling toat too much camressing or paging is taking place. 2013-07-23 13:15:01 +02:00
Matt Williams
7ee913c8a8 Fix the SWIG warning in the SWIG interface files
This keeps the .cpp and .h files clean.
2013-07-22 16:10:31 +01:00
David Williams
3971e6415c Added SWIG tests to stop build warning about operator<<. 2013-07-22 16:37:35 +02:00
Matt Williams
63dfaa5a13 Enable C# bindings even if Python wasn't found. 2013-07-21 10:31:24 +01:00
David Williams
7cd115b33d Work on code which computes how the memory should be split between compressed and uncompressed data. 2013-07-19 16:43:59 +02:00
David Williams
ef6bd31651 Small fixes. 2013-07-18 17:03:14 +02:00
David Williams
88cbeb309c Reimplemented eraseBlock for uncompressed blocks. 2013-07-18 16:08:18 +02:00
David Williams
1e986f9aa6 Reimplemented eraseBlock for compressed blocks. 2013-07-17 17:00:12 +02:00
David Williams
404f12a43e Added typedefs to simplify code. 2013-07-17 16:33:46 +02:00
David Williams
5b99854c02 Making block copy constructors and assignment operators private to prevent accidental copying. 2013-07-17 16:23:46 +02:00
David Williams
dea7e6a4e9 Tidying up block classes. 2013-07-16 16:50:04 +02:00
David Williams
b5d930062b Const fixes. 2013-07-16 16:09:57 +02:00
David Williams
3904c9aa8f Tidying and renaming... 2013-07-16 15:59:06 +02:00
David Williams
0cfb9f5196 Splitting 'Block into CompressedBlock and UncompressedBlock. 2013-07-16 14:42:43 +02:00
David Williams
2acb98bdcb Compile warning fixes. 2013-07-16 11:50:59 +02:00
David Williams
a00574351f Renamed Block to CompressedBlock 2013-07-11 16:38:28 +02:00
David Williams
00eb281990 Stripping down Block class. 2013-07-11 16:30:19 +02:00
David Williams
0d92bc6c8c Starting to split Block class into CompressedBlock and UncompressedBlock. 2013-07-11 16:17:48 +02:00
David Williams
9ff95f7061 Minor fixes. 2013-07-11 15:55:34 +02:00
David Williams
e6cbc09e83 getUncompressedBlock now return raw pointer instead of block pointer. 2013-07-11 15:30:15 +02:00
David Williams
884fe04c12 Tidying up... 2013-07-11 15:01:18 +02:00
David Williams
abd1920d80 Adding new caching mechanism. 2013-07-11 14:50:06 +02:00
David Williams
a589c6e4ac Split come code into getCompressedBlock() function. 2013-07-11 14:26:38 +02:00
Daviw Williams
056064409d Work on LargeVolume. 2013-07-05 16:07:38 +02:00
Daviw Williams
0c55938242 Work on the code that frees up memory in LargeVolume. 2013-07-05 15:41:16 +02:00
Matt Williams
2f2475ad0c Avoid ambiguous function resolution of getVoxelImpl
Clang was complaining that the function couldn't access the *Volumes*'s
``getVoxelImpl``. Since we actually want the ``BaseVolume::Sampler``'s
version this solves the problem.
2013-07-04 22:05:06 +01:00
Matt Williams
8027f9904d On systems that support it, raise SIGTRAP to drop into the debugger
Clang was being clever and giving a warning for this line so it prompted me
to fix it. I believe that SIGTRAP is the correct way to get the debugger to
work here.

It does a compile-time check for the platform when not using MSVC.

Discussed at http://www.volumesoffun.com/phpBB3/viewtopic.php?p=3766#p3766
2013-07-04 19:35:09 +01:00
Matt Williams
9f7f893b68 Change the types of the edgeTable and triTable
The range on values in these tables is much less than needs an int so
making them specific width types packs them smaller.

I measure a 5% decrease in the size of the .so file created at -O3.
2013-07-04 19:35:09 +01:00
Daviw Williams
bd60f34bd7 Removing explicit functions to control the number of compressed and uncompressed blocks in memory, and letting the user set a memory limit instead. 2013-07-04 16:23:58 +02:00
Daviw Williams
26f512eba7 Fixed compile warning. 2013-07-02 16:08:52 +02:00
Matt Williams
c843e7e705 Remove unnecessary consts.
Since a copy is being made in the return, the const qualifiers are
ignored anyway.
2013-07-01 12:23:21 +01:00
David Williams
aab1149e8f Merge branch 'develop' into feature/cubiquity-version 2013-06-28 20:26:25 +02:00