9a71004b1e
Added ability to check whether previousVoxel has been set.
2016-05-21 08:34:13 +01:00
e89a55d154
Applied default Visual Studio formatting to most files. This is a quick fix for the tabs vs spaces issue that messes up the formatting in any editor (esp. Linux) which handles tabs/spaces differently to Visual Studio. Some parts of the formatting look a bit worse but overall it should be better (or at least more consistent).
...
I didn't apply the changes to a few macro-heavy files as Visual Studio removes all indentation from macros, whereas the indentation can be handy to see nesting.
2015-12-26 23:11:27 +00:00
b3ca051878
Changed 'embedded' licenses from zlib to MIT.
2015-12-26 21:45:41 +00:00
403189f357
Removed PolyVoxForwardDeclarations.h. It was a source of confusion because the forward declarations often got out of sync with the real definitions, resulting in confusing template error messages. Furthermore, it does not appear to have actually hurt compile times so I guess it wasn't that useful (or wasn't being used to it's fullest potential). Overall I think PolyVox is not large enough to really benefit from this.
2015-12-20 21:19:20 +00:00
28a3d78354
Removed old deprecated code.
2015-11-30 07:50:32 +00:00
f178dc084b
Updated unit tests. It seems we had a bug which was causing an excessive number of vertices to be generated. Not sure exactly what was wrong by the refactoring has fixed this. However, it still needs testing in Cubiquity to verify.
2015-05-19 23:14:31 +02:00
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
143c9fd08d
Made test 10x longer.
2015-04-13 21:34:59 +02:00
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
8bd013f28e
Added RawVolume version of test as well.
2015-04-10 16:14:29 +02:00
887ecc1aaa
Adding test to measure voxel access times when sampling the volume randomly.
2015-04-10 16:09:35 +02:00
d41a7d2747
Removed redundant samplers.
2015-04-02 21:35:50 +02:00
b415e5c5f3
calculateAmbientOcclusion() now works with both RawVolume and PagedVolume.
2015-03-30 11:44:25 +02:00
d000616d3e
Revert "Ambient occlusion test now uses RawVolume, as it need a fixed size volume to create a temporary array."
...
This reverts commit 396d1cfc59
.
2015-03-30 11:24:48 +02:00
1c17a7147b
Made test do 10 times more iterations.
2015-03-28 08:42:06 +01:00
322bedc009
Improved test for PagedVolume::Chunk performance.
2015-03-26 23:45:01 +01:00
1d24b189ca
Refactoed test code.
2015-03-25 17:12:11 +01:00
931c6cd3ec
Added tests for chunk performance.
2015-03-25 16:40:05 +01:00
d477bec540
Revert "Replaced Vector3D with integer as key to map."
...
This reverts commit e82d6beca1
.
2015-03-21 14:41:15 +01:00
0e995b5140
Fixed some compiler warnings.
2015-03-21 07:40:32 +01:00
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
c98ad8c948
Merge branch 'feature/remove-wrap-modes' into develop
2015-03-07 21:19:21 +01:00
aaa6b1dc15
A PagedVolume must now always be provided with a Pager when it is constructed.
2015-03-07 17:01:07 +01:00
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
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
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
e7f41b7e0f
More fixing/tidying of test, related to removing volume size limit.
2015-03-01 08:14:30 +01:00
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
7e03c3e05b
Compile fixes and tweaks for tests.
2015-02-28 13:43:17 +01:00
41d5ea6178
Move FindQt5Test logic inside tests directory
2015-02-28 10:40:05 +00:00
f262c0e8f5
Revert "Removing tests which depend on wrap modes, in preparation for removing the wrap modes themselves."
...
This reverts commit 917d3b8c95
.
2015-02-28 09:59:28 +01:00
416ae8eb7f
Revert "Removed 'AllInternal' part of function name as it is now redundant."
...
This reverts commit 42e8b2cf44
.
2015-02-28 09:59:11 +01:00
3ace735619
Work on removing wrap modes.
2015-02-27 13:48:31 +01:00
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
42e8b2cf44
Removed 'AllInternal' part of function name as it is now redundant.
2015-02-26 22:15:19 +01:00
917d3b8c95
Removing tests which depend on wrap modes, in preparation for removing the wrap modes themselves.
2015-02-26 17:07:00 +01:00
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
f87966686d
Another 'typename', GCC really likes these.
2015-02-10 21:52:05 +01:00
1cbc0605fd
Added 'typename'.
2015-02-10 21:49:28 +01:00
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
c62bde0066
Work on getting the OpenGL/Qt5 support working with new header-only library.
2015-02-09 22:11:06 +01:00
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
16a75d0606
Reoranising header structure.
2015-02-07 17:16:54 +01:00
a296807ed9
Removed PolyVoxUtil.
2015-02-07 14:59:08 +01:00
c3f2e5217e
Removed CMake code which tries to build/use PolyVoxCore as a library.
2015-02-06 23:29:35 +01:00
86357d66b7
Normalized line endings
2014-09-25 22:38:01 +02:00
75df6621bd
GCC fixes
2014-09-21 23:07:14 +02:00
db2e62d2a8
Replaced LargeVolume and SimpleVolume with PagedVolume in tests and examples.
2014-09-21 17:57:42 +02:00
880dcd8645
Fixed incorrect messages about temp files not being deleted.
2014-09-20 17:17:18 +02:00
4779f91787
TestVolume unit test now tests PagedVolume rather than SimpleVolume and LargeVolume.
2014-09-20 14:49:12 +02:00