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
0c8013317e
Added asserts to catch corrupt data probably resulting from multithreading.
2013-07-28 16:43:43 +02:00
a10fcf8ecc
Small changes for debugging Cubiquity.
2013-07-27 15:02:16 +02:00
ef59f329b6
Reorganising compression code.
2013-07-26 16:25:50 +02:00
f54532a905
Started moving compression code into separate class.
2013-07-26 16:00:29 +02:00
c3c4ead1f3
Work on paging to files.
2013-07-26 15:38:03 +02:00
b767d9b896
Tidying up.
2013-07-25 17:07:50 +02:00
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
cf9b54e5ab
Properly deleting data (delete vs. delete[]).
2013-07-24 16:53:40 +02:00
b07dafc9fa
Added code to initilise empty compressed blocks.
2013-07-24 16:39:31 +02:00
69066a068e
Implemented flushExcessiveCacheEntries()
2013-07-23 13:48:04 +02:00
7c11a53484
Fixed flushOldestExcessiveBlocks().
2013-07-23 13:31:24 +02:00
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
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
3971e6415c
Added SWIG tests to stop build warning about operator<<.
2013-07-22 16:37:35 +02:00
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
ef6bd31651
Small fixes.
2013-07-18 17:03:14 +02:00
88cbeb309c
Reimplemented eraseBlock for uncompressed blocks.
2013-07-18 16:08:18 +02:00
1e986f9aa6
Reimplemented eraseBlock for compressed blocks.
2013-07-17 17:00:12 +02:00
404f12a43e
Added typedefs to simplify code.
2013-07-17 16:33:46 +02:00
5b99854c02
Making block copy constructors and assignment operators private to prevent accidental copying.
2013-07-17 16:23:46 +02:00
dea7e6a4e9
Tidying up block classes.
2013-07-16 16:50:04 +02:00
b5d930062b
Const fixes.
2013-07-16 16:09:57 +02:00
3904c9aa8f
Tidying and renaming...
2013-07-16 15:59:06 +02:00
0cfb9f5196
Splitting 'Block into CompressedBlock and UncompressedBlock.
2013-07-16 14:42:43 +02:00
2acb98bdcb
Compile warning fixes.
2013-07-16 11:50:59 +02:00
a00574351f
Renamed Block to CompressedBlock
2013-07-11 16:38:28 +02:00
00eb281990
Stripping down Block class.
2013-07-11 16:30:19 +02:00
0d92bc6c8c
Starting to split Block class into CompressedBlock and UncompressedBlock.
2013-07-11 16:17:48 +02:00
9ff95f7061
Minor fixes.
2013-07-11 15:55:34 +02:00
e6cbc09e83
getUncompressedBlock now return raw pointer instead of block pointer.
2013-07-11 15:30:15 +02:00
884fe04c12
Tidying up...
2013-07-11 15:01:18 +02:00
abd1920d80
Adding new caching mechanism.
2013-07-11 14:50:06 +02:00
a589c6e4ac
Split come code into getCompressedBlock() function.
2013-07-11 14:26:38 +02:00
056064409d
Work on LargeVolume.
2013-07-05 16:07:38 +02:00
0c55938242
Work on the code that frees up memory in LargeVolume.
2013-07-05 15:41:16 +02:00
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
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
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
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
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
aab1149e8f
Merge branch 'develop' into feature/cubiquity-version
2013-06-28 20:26:25 +02:00
edf1f5d665
Fix compile error caused by missing #include.
2013-06-28 16:47:02 +01:00
059a4b9465
Reverted accidental commit of test code.
2013-06-28 16:58:31 +02:00
e38aa3b1b9
Unit tests now test FilePager.
2013-06-28 16:16:08 +02:00
839f366174
Compile fixes for Linux.
...
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
7cad8388b9
Merge branch 'develop' into feature/cubiquity-version
...
Conflicts:
library/PolyVoxCore/include/PolyVoxCore/Region.h
library/PolyVoxCore/source/Region.cpp
2013-06-27 21:40:10 +02:00
72b3cd5154
Tidying up and comments.
2013-06-26 23:39:21 +02:00
885a50e781
Merge branch 'develop' into feature/paging
2013-06-26 22:49:36 +02:00
56cf423bfd
Added POLYVOX_THROW_IF macro to simplify error handling.
2013-06-26 22:39:15 +02:00