David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						905ec27f47 
					 
					
						
						
							
							Added typedef for ChunkKey.  
						
						
						
						
					 
					
						2015-03-21 08:12:02 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						0d638f9837 
					 
					
						
						
							
							Going back to building key by shifting instead of using bitfield.  
						
						
						
						
					 
					
						2015-03-21 08:05:58 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						0e995b5140 
					 
					
						
						
							
							Fixed some compiler warnings.  
						
						
						
						
					 
					
						2015-03-21 07:40:32 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						6419c5827b 
					 
					
						
						
							
							Added typedef for chunk key type.  
						
						
						
						
					 
					
						2015-03-20 16:59:25 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						8bd8f8ba7a 
					 
					
						
						
							
							Work on using a bitfield to set up chunk key.  
						
						
						
						
					 
					
						2015-03-20 15:48:46 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						cd48c6f611 
					 
					
						
						
							
							Made method const.  
						
						
						
						
					 
					
						2015-03-19 23:08:35 +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 
							
						 
					 
					
						
						
							
						
						d305038c27 
					 
					
						
						
							
							Replaced loop with fill.  
						
						
						
						
					 
					
						2015-03-11 23:47:32 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						741234e4a5 
					 
					
						
						
							
							Small speed improvement by storing variables separately (rather than in Vector3D) to void construction/comparison overhead.  
						
						
						
						
					 
					
						2015-03-09 23:52:56 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						99d0a226c8 
					 
					
						
						
							
							Tidying up.  
						
						
						
						
					 
					
						2015-03-08 23:48:55 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						72abcd8e9c 
					 
					
						
						
							
							Chunks are now stored with unique_ptr rather than shared_ptr.  
						
						
						
						
					 
					
						2015-03-08 23:30:12 +01:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						639eb6620f 
					 
					
						
						
							
							Add 'this' pointer disambiguation.  
						
						... 
						
						
						
						I guess this didn't fail on MSVC due to the different name lookup rules
the use.
Fixes issue 56. 
						
						
					 
					
						2015-03-08 12:51:00 +00:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						c98ad8c948 
					 
					
						
						
							
							Merge branch 'feature/remove-wrap-modes' into develop  
						
						
						
						
					 
					
						2015-03-07 21:19:21 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						43c203a2c9 
					 
					
						
						
							
							Removed declaration of function for which we already removed the definition.  
						
						
						
						
					 
					
						2015-03-07 17:42:31 +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 
							
						 
					 
					
						
						
							
						
						5a5b2b3875 
					 
					
						
						
							
							Spotted an optimization for computing the voxel position.  
						
						
						
						
					 
					
						2015-03-06 23:03:38 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						2c0d9cb9e7 
					 
					
						
						
							
							Moved contents of initialize() into constructor.  
						
						
						
						
					 
					
						2015-03-05 23:51:16 +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 
							
						 
					 
					
						
						
							
						
						89550fcd44 
					 
					
						
						
							
							Fixed warnings.  
						
						
						
						
					 
					
						2015-03-05 00:04:22 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						61bffc9783 
					 
					
						
						
							
							Removed some not useful functions.  
						
						
						
						
					 
					
						2015-03-04 23:31:24 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1213a4047a 
					 
					
						
						
							
							Fully stripped out references to wrap modes.  
						
						
						
						
					 
					
						2015-03-04 23:13:37 +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 
							
						 
					 
					
						
						
							
						
						d3618ca688 
					 
					
						
						
							
							Removed tracking of whether the PagedVolume::Sampler is currently valid.  
						
						
						
						
					 
					
						2015-03-01 23:32:22 +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 
							
						 
					 
					
						
						
							
						
						09c15173f9 
					 
					
						
						
							
							Simplify -std=c++0x flag logic  
						
						... 
						
						
						
						This could be improved in CMake 3.1 by using CXX_STANDARD and
CXX_STANDARD_REQUIRED (see http://stackoverflow.com/a/20165220/96704 ) 
						
						
					 
					
						2015-02-28 10:55:01 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						41d5ea6178 
					 
					
						
						
							
							Move FindQt5Test logic inside tests directory  
						
						
						
						
					 
					
						2015-02-28 10:40:05 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						d9dae773dc 
					 
					
						
						
							
							Simplify the BUILD_EXAMPLES logic  
						
						
						
						
					 
					
						2015-02-28 10:24:32 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						32b07659a8 
					 
					
						
						
							
							Move all the examples' CMake logic into the examples directory  
						
						
						
						
					 
					
						2015-02-28 10:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						969310f327 
					 
					
						
						
							
							Make sure we're notifiying if the docs are available  
						
						
						
						
					 
					
						2015-02-28 10:17:56 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						65f966555d 
					 
					
						
						
							
							Move Doxygen stuff into include directory where it is actually used  
						
						
						
						
					 
					
						2015-02-28 10:06:56 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Williams 
							
						 
					 
					
						
						
							
						
						cb1cd58288 
					 
					
						
						
							
							Remove all mention of LIBRARY_TYPE as PolyVox is now header-only  
						
						
						
						
					 
					
						2015-02-28 09:56:12 +00:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1853a0fc4e 
					 
					
						
						
							
							Revert "More work on removing wrap modes."  
						
						... 
						
						
						
						This reverts commit 6817899e6a 
						
						
					 
					
						2015-02-28 09:58:41 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						6817899e6a 
					 
					
						
						
							
							More work on removing wrap modes.  
						
						
						
						
					 
					
						2015-02-27 15:12: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 
							
						 
					 
					
						
						
							
						
						7ac652e92b 
					 
					
						
						
							
							More compile fixes for GCC. Because our openGLWidget is now templatized we need to explicitly use 'this->' to access base members (and the gl...() functions are provided by the base class in Qt). See  http://stackoverflow.com/a/15505043  
						
						
						
						
					 
					
						2015-02-25 16:11:22 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						f7af804ccf 
					 
					
						
						
							
							Compile fix for GCC.  
						
						
						
						
					 
					
						2015-02-25 15:57:59 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1f3dc558da 
					 
					
						
						
							
							Added missing header.  
						
						
						
						
					 
					
						2015-02-24 23:46:35 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						2ec29e33b7 
					 
					
						
						
							
							Tidying up OpenGLWidget.  
						
						
						
						
					 
					
						2015-02-24 23:44:04 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						fbb7ff4728 
					 
					
						
						
							
							Merge branch 'feature/example-refactor' into develop  
						
						
						
						
					 
					
						2015-02-24 22:23:57 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						e985dce075 
					 
					
						
						
							
							Templatized OpenGLWidget so users can specify the version of OpenGL to support.  
						
						
						
						
					 
					
						2015-02-24 22:17:46 +01:00