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
28a3d78354
Removed old deprecated code.
2015-11-30 07:50:32 +00:00
a34eda6250
Simple optimization.
2015-05-24 21:17:09 +02:00
304e3d8f7a
Faster tests when moving sampler.
2015-05-23 21:22:29 +02:00
32c30471a6
Make m_uChunkSideLengthMinusOne const
2015-04-14 15:01:10 +01: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
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
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
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
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
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
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
1213a4047a
Fully stripped out references to wrap modes.
2015-03-04 23:13:37 +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
d3618ca688
Removed tracking of whether the PagedVolume::Sampler is currently valid.
2015-03-01 23:32:22 +01:00
1853a0fc4e
Revert "More work on removing wrap modes."
...
This reverts commit 6817899e6a
.
2015-02-28 09:58:41 +01:00
6817899e6a
More work on removing wrap modes.
2015-02-27 15:12: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
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