1491 Commits

Author SHA1 Message Date
David Williams
a4fc814a51 Rearranging and renaming some code. 2013-07-29 16:04:01 +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
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
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
Matt Williams
edf1f5d665 Fix compile error caused by missing #include. 2013-06-28 16:47:02 +01:00
Daviw Williams
059a4b9465 Reverted accidental commit of test code. 2013-06-28 16:58:31 +02:00
Daviw Williams
e38aa3b1b9 Unit tests now test FilePager. 2013-06-28 16:16:08 +02:00
David Williams
839f366174 Compile fixes for Linux.
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
Daviw Williams
0d839c4a51 Merge branch 'feature/paging' into develop 2013-06-27 16:49:32 +02:00
Daviw Williams
f3ec94dd75 Reverted changes made for testing. 2013-06-27 16:43:49 +02:00
Daviw Williams
97a501e3da Updated changelog. 2013-06-27 16:41:24 +02:00
David Williams
72b3cd5154 Tidying up and comments. 2013-06-26 23:39:21 +02:00
David Williams
885a50e781 Merge branch 'develop' into feature/paging 2013-06-26 22:49:36 +02:00
David Williams
56cf423bfd Added POLYVOX_THROW_IF macro to simplify error handling. 2013-06-26 22:39:15 +02:00
David Williams
1064ea1c47 Stripped out unused code. 2013-06-26 22:14:01 +02:00
David Williams
acb43d54d9 Fixed paging example. 2013-06-26 22:08:49 +02:00
David Williams
938eea7c8e Work on tidying LargeVolume... 2013-06-26 22:01:44 +02:00