Commit Graph

2140 Commits

Author SHA1 Message Date
887ecc1aaa Adding test to measure voxel access times when sampling the volume randomly. 2015-04-10 16:09:35 +02:00
a2fe1944af Initial work on replacing std::unordered_map with a specialized hash table for looking up chunks based on their 3D position. 2015-04-09 23:44:25 +02:00
27a59f34bc Merge branch 'feature/morton-encoding' into develop 2015-04-05 17:44:27 +02:00
4c24d61408 Added another function for backwards compatibility. 2015-04-05 12:03:12 +02:00
c887d1444f Added utility function for people who already have data in linear order, to convert it to Morton order. 2015-04-05 10:14:25 +02:00
d521b08cf9 Added comment. 2015-04-04 09:57:31 +02:00
dec06bcfe4 Added caching of variable. 2015-04-04 09:49:12 +02:00
77db90ac30 Removed unneeded variable. 2015-04-04 09:42:46 +02:00
0d36c416f2 Tidied up macros. 2015-04-04 09:18:51 +02:00
3ca0222b19 Applied simplified test when going in the negative direction as well. 2015-04-04 00:08:20 +02:00
d1bcaec2c5 This commit knocks about 30% off the run time of the sampler tests by using a more efficient check for whether we are near the edge of the chunk. 2015-04-02 23:11:19 +02:00
d41a7d2747 Removed redundant samplers. 2015-04-02 21:35:50 +02:00
135aa96bdf Further fixes for move...() functions. 2015-04-01 23:34:57 +02:00
056cae39b5 Fixed sampler move...() functions to work with Morton ordering. 2015-04-01 22:57:22 +02:00
b518978cd6 Enlarged lookup tables to 256 elements. 2015-04-01 22:34:42 +02:00
65f39e7b57 Made the values signed ints, as otherwise the casting was doing something strange on 64-bit systems. 2015-04-01 16:29:19 +02:00
5d220c5d57 Added extra lookup tables to avoid the need to multiply y/z deltas by 2/4 each time. 2015-03-31 23:58:01 +02:00
60612c5583 Implemented use of delta for the rest of the peek functions. 2015-03-31 19:55:22 +02:00
afd0650230 Implemented peeking in positive x and negative x directions using Matt's delta lookup table. 2015-03-31 16:33:56 +02:00
120b8e84cc Added position in chunk and pointer to current chunk data to sampler. 2015-03-30 23:33:51 +02:00
d34c1d227c Merge branch 'develop' into feature/morton-encoding 2015-03-30 15:38:34 +02:00
5847219331 Fixed bug with chunk timestamp not being updated. 2015-03-30 15:36:28 +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
413bb95b1a Passing parameter as const ref. 2015-03-30 11:01:08 +02:00
7f96005985 Commented out optimized path in sampler as it doesn't work now that we are using Morton ordering for the data in chunks. However, we can probably reinstate such a fast path if we give some thought as to how it should be done. 2015-03-29 09:58:28 +02:00
d3b2dab1ac Switched to using lookup tables for Morton encoding. 2015-03-29 00:17:27 +01:00
d99ed5e624 Implemented morton encoding using standard bit-twidling approach. 2015-03-28 09:46:05 +01:00
1c17a7147b Made test do 10 times more iterations. 2015-03-28 08:42:06 +01:00
9256f3deb5 Fixed compile warning. 2015-03-27 21:23:31 +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
6516c00e62 Merge branch 'feature/optimize-paged-volume' into develop 2015-03-21 16:30:07 +01:00
3facd4df41 Removed commented out code. 2015-03-21 16:27:43 +01:00
d6c708f869 Merge branch 'develop' into feature/optimize-paged-volume 2015-03-21 16:24:46 +01:00
b027cf1a0c Moved common code into function. 2015-03-21 16:22:23 +01:00
778238d11d Moved the test for whether we are accessing the same voxel as last time. 2015-03-21 14:57:48 +01:00
d477bec540 Revert "Replaced Vector3D with integer as key to map."
This reverts commit e82d6beca1.
2015-03-21 14:41:15 +01:00
672c375a7a Revert "Work on using a bitfield to set up chunk key."
This reverts commit 8bd8f8ba7a.
2015-03-21 14:41:10 +01:00
5fc0317260 Revert "Added typedef for chunk key type."
This reverts commit 6419c5827b.
2015-03-21 14:41:04 +01:00
92eaaae765 Revert "Decided to always use a 64-bit chunk key, rather than trying to make it configurable."
This reverts commit 69f6f4ac37.
2015-03-21 14:40:57 +01:00
ceeb8f70ce Revert "Going back to building key by shifting instead of using bitfield."
This reverts commit 0d638f9837.
2015-03-21 14:40:49 +01:00
0c619ebec7 Revert "Added typedef for ChunkKey."
This reverts commit 905ec27f47.
2015-03-21 14:40:30 +01:00
f574563672 Revert "New, safer method of packing which makes careful use of casting to avoid problems with e.g. signed integer sign extension."
This reverts commit fd451be2dd.
2015-03-21 14:40:11 +01:00
fd451be2dd New, safer method of packing which makes careful use of casting to avoid problems with e.g. signed integer sign extension. 2015-03-21 08:48:45 +01:00
905ec27f47 Added typedef for ChunkKey. 2015-03-21 08:12:02 +01:00
0d638f9837 Going back to building key by shifting instead of using bitfield. 2015-03-21 08:05:58 +01:00
0e995b5140 Fixed some compiler warnings. 2015-03-21 07:40:32 +01:00
69f6f4ac37 Decided to always use a 64-bit chunk key, rather than trying to make it configurable. 2015-03-20 23:09:38 +01:00