David Williams
3937dc3c61
Applying test to a larger region so we can more easily benchmark the performance (otherwise the VS profiler can fail if the test runs too quickly).
2015-05-10 11:40:58 +02:00
David Williams
143c9fd08d
Made test 10x longer.
2015-04-13 21:34:59 +02:00
David Williams
c562341db0
Added a second PagedVolume to the tests with much higher allowed memory usage. This makes more sense when testing random access, as low permitted memory usage causes disk IO to become the bottleneck.
2015-04-10 16:56:19 +02:00
David Williams
8bd013f28e
Added RawVolume version of test as well.
2015-04-10 16:14:29 +02:00
David Williams
887ecc1aaa
Adding test to measure voxel access times when sampling the volume randomly.
2015-04-10 16:09:35 +02:00
David Williams
d41a7d2747
Removed redundant samplers.
2015-04-02 21:35:50 +02:00
David Williams
b415e5c5f3
calculateAmbientOcclusion() now works with both RawVolume and PagedVolume.
2015-03-30 11:44:25 +02:00
David Williams
d000616d3e
Revert "Ambient occlusion test now uses RawVolume, as it need a fixed size volume to create a temporary array."
...
This reverts commit 396d1cfc599e6837cf38bc1a95e680e9721ea844.
2015-03-30 11:24:48 +02:00
David Williams
1c17a7147b
Made test do 10 times more iterations.
2015-03-28 08:42:06 +01:00
David Williams
322bedc009
Improved test for PagedVolume::Chunk performance.
2015-03-26 23:45:01 +01:00
David Williams
1d24b189ca
Refactoed test code.
2015-03-25 17:12:11 +01:00
David Williams
931c6cd3ec
Added tests for chunk performance.
2015-03-25 16:40:05 +01:00
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
0e995b5140
Fixed some compiler warnings.
2015-03-21 07:40:32 +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
c98ad8c948
Merge branch 'feature/remove-wrap-modes' into develop
2015-03-07 21:19:21 +01:00
David Williams
aaa6b1dc15
A PagedVolume must now always be provided with a Pager when it is constructed.
2015-03-07 17:01:07 +01:00
David Williams
c804190d84
Removed the ability to set the target memory usage after construction, and this is now just done through the constructor. I don't think the functionality was useful, and this simplifies more logic.
2015-03-05 23:42:50 +01:00
David Williams
bd6efe8c3c
Stuff related to valid regions is being moved from BaseVolum to RawVolume, as PagedVolume is now infinite.
2015-03-04 22:42:14 +01:00
David Williams
396d1cfc59
Ambient occlusion test now uses RawVolume, as it need a fixed size volume to create a temporary array.
2015-03-01 09:51:45 +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
bfc7dfdc1b
Removed the ability to specify a region in the PagedVolume's constructor, and updated the tests and examples where required.
2015-02-28 23:31:23 +01:00
David Williams
7e03c3e05b
Compile fixes and tweaks for tests.
2015-02-28 13:43:17 +01:00
Matt Williams
41d5ea6178
Move FindQt5Test logic inside tests directory
2015-02-28 10:40:05 +00: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
3ace735619
Work on removing wrap modes.
2015-02-27 13:48:31 +01:00
David Williams
64d010527b
Removed old getVoxelAt()/setVoxelAt() functions. they've been flagged as deprecated for a while now, and are replaced by just getVoxel()/setVoxel().
2015-02-27 11:07:15 +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
7e19706681
C++11 random number generators are consistent across platforms, but the distribution classes are not: http://stackoverflow.com/a/13589262
2015-02-10 23:35:17 +01:00
David Williams
f87966686d
Another 'typename', GCC really likes these.
2015-02-10 21:52:05 +01:00
David Williams
1cbc0605fd
Added 'typename'.
2015-02-10 21:49:28 +01:00
David Williams
feb9b6bdc6
Switched to using C++11 random number generator (MT) for tests, hoping it will be consistent across platforms.
2015-02-10 21:46:09 +01:00
David Williams
c62bde0066
Work on getting the OpenGL/Qt5 support working with new header-only library.
2015-02-09 22:11:06 +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
16a75d0606
Reoranising header structure.
2015-02-07 17:16:54 +01:00
David Williams
a296807ed9
Removed PolyVoxUtil.
2015-02-07 14:59:08 +01:00
David Williams
c3f2e5217e
Removed CMake code which tries to build/use PolyVoxCore as a library.
2015-02-06 23:29:35 +01:00
David Williams
86357d66b7
Normalized line endings
2014-09-25 22:38:01 +02:00
David Williams
75df6621bd
GCC fixes
2014-09-21 23:07:14 +02:00
David Williams
db2e62d2a8
Replaced LargeVolume and SimpleVolume with PagedVolume in tests and examples.
2014-09-21 17:57:42 +02:00
David Williams
880dcd8645
Fixed incorrect messages about temp files not being deleted.
2014-09-20 17:17:18 +02: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
d2bbd6beba
Some renaming.
2014-09-18 14:58:17 +02:00
David Williams
8dd026e095
Work on limiting maximum memory usage.
2014-09-18 14:51:43 +02:00
David Williams
c0a22de2df
Removed a lot of compression-related code.
2014-09-13 12:20:56 +02:00
David Williams
302c6e688b
More work eliminating compression from inside LargeVolume.
2014-09-13 11:59:51 +02:00
David Williams
4781ca5c42
Work on removing compression from LargeVolume.
2014-09-12 15:36:28 +02:00
David Williams
882798ccb8
Modifying surface extractor test to work with LargeVolume.
2014-09-12 00:02:06 +02:00