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
David Williams
a9f1a29868
Adding Vector performance test.
2014-09-05 16:06:40 +02:00
David Williams
25860122b0
Fixed incorrect array indexing.
2014-08-25 23:07:29 +02:00
David Williams
d06dbdf054
Bit renaming. Old Array class is gone, and is replaced by the Array2D class which has also been renamed to Array.
2014-08-24 22:30:50 +02:00
David Williams
d49db280d5
TestVolumeSubclass now uses Array2D instead of Array.
2014-08-24 21:55:44 +02:00
David Williams
528873bcd3
Extended 'Array2D class to be multidimensional (will rename it shortly).
2014-08-24 21:54:59 +02:00
David Williams
20815b6083
Moved Array2D to it's own file.
2014-08-21 21:38:19 +02:00