David Williams
d477bec540
Revert "Replaced Vector3D with integer as key to map."
...
This reverts commit e82d6beca1a5cf7e81c546e6dd0243f54ff5d3e6.
2015-03-21 14:41:15 +01:00
David Williams
e82d6beca1
Replaced Vector3D with integer as key to map.
...
Chunks of voxel data are stored in a map, and it is quite common to need to search the map for a particular chunk. The key type used to be a Vector3D (i.e. the position of the chunk in 3D space) which makes conceptual sense but is relatively slow. Using a Vector3D as a key seems to have overhead, probably in terms of copying and performing comparisons. It seems to be significantly faster to use an integer as a key, so we now take the 3D position and pack it into a single integer by bitshifting.
Naturally this reduces the range of positions we can store - a 32-bit int can only encode 3 x 10-bit values, which means our volume can only be 1024 chunks in each direction (with a chunk often being 32x32x32 voxels). This should still be large enough for most uses, but an upcoming change will allow 64-bit keys to be used (at least on 64-bit builds) which then allows 21 bits of precision per component. This is so large that it's almost infinite for any practical purposes.
2015-03-15 09:32:42 +01:00
David Williams
e7f41b7e0f
More fixing/tidying of test, related to removing volume size limit.
2015-03-01 08:14:30 +01:00
David Williams
f262c0e8f5
Revert "Removing tests which depend on wrap modes, in preparation for removing the wrap modes themselves."
...
This reverts commit 917d3b8c953c7fa6ceb3ab232dab54b78d57751c.
2015-02-28 09:59:28 +01:00
David Williams
416ae8eb7f
Revert "Removed 'AllInternal' part of function name as it is now redundant."
...
This reverts commit 42e8b2cf4478b40663437df724a2cd292255671f.
2015-02-28 09:59:11 +01:00
David Williams
42e8b2cf44
Removed 'AllInternal' part of function name as it is now redundant.
2015-02-26 22:15:19 +01:00
David Williams
917d3b8c95
Removing tests which depend on wrap modes, in preparation for removing the wrap modes themselves.
2015-02-26 17:07:00 +01:00
David Williams
049a77cd0c
Moved all headers from 'PolyVoxCore' to 'PolyVox', as we no longer have the core/util distinction.
2015-02-07 17:26:36 +01:00
David Williams
4779f91787
TestVolume unit test now tests PagedVolume rather than SimpleVolume and LargeVolume.
2014-09-20 14:49:12 +02:00
David Williams
4781ca5c42
Work on removing compression from LargeVolume.
2014-09-12 15:36:28 +02:00
David Williams
a4fc814a51
Rearranging and renaming some code.
2013-07-29 16:04:01 +02:00
Daviw Williams
e38aa3b1b9
Unit tests now test FilePager.
2013-06-28 16:16:08 +02:00
Daviw Williams
62370868c8
Reverted accidental changes to tests.
...
Updated comments in compression code.
2013-02-25 17:06:12 +01:00
Daviw Williams
f70498e806
Removed old code.
2013-02-25 16:34:21 +01:00
Daviw Williams
50c1c7c64b
Removed setCompressionEnabled() from LargeVolume.
2013-02-07 15:55:10 +01:00
Daviw Williams
a81ec68714
Work on compression interface.
2013-01-31 16:35:50 +01:00
Daviw Williams
c7937b176d
Very bad (but functional!) initial implementation of LargeVolume compression with miniz.
2013-01-10 16:20:29 +01:00
Daviw Williams
4b45bb297f
More volume unit tests - now iterating backwards as well as forwards.
2013-01-02 17:05:35 +01:00
Daviw Williams
97024ba9b2
More volume test configurations.
2013-01-02 14:48:30 +01:00
David Williams
d8da6a7b7f
Refactoring the volume unit test code, trying to get some performance benchmarks. Unit tests are currently not passing.
2012-12-11 21:57:30 +00:00
David Williams
c37997bfe2
Updated new volumes test.
2012-12-02 14:02:50 +01:00
David Williams
9e8e976bfe
Work on new unit test for volumes.
2012-12-02 09:43:00 +01:00
Matt Williams
7597b56620
Improve test macro.
...
Add include guards to the test header.
2010-02-26 16:11:13 +00:00
Matt Williams
fe3961c041
Use QTestLib to harness the tests.
2010-02-25 12:20:44 +00:00