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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d3b71a92b9 
					 
					
						
						
							
							Tidying up code.  
						
						
						
						
					 
					
						2015-02-24 16:53:34 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						9547824f14 
					 
					
						
						
							
							Renamed matrices. I quite like names such as 'modelToWorldMatrix' and 'cameraToClipMatrix' because they were very explicit about what the transform was doing. However OpenGL uses common terms such as 'model matrix' and 'projection matrix', so other people wlil be able to follow the code more easily if we stick to these conventions.  
						
						
						
						
					 
					
						2015-02-24 16:08:55 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						7262ca313e 
					 
					
						
						
							
							More work splitting example framework into two pieces.  
						
						
						
						
					 
					
						2015-02-20 16:56:03 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						838407ba4f 
					 
					
						
						
							
							Started splitting example framework into to two classes. One will be general purpose (for use in Cubiquity, etc), and the other will have PolyVox specific stuff.  
						
						
						
						
					 
					
						2015-02-20 16:20:09 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						9c93c5fc36 
					 
					
						
						
							
							Switched examples to use FPS-style first person perspective camera.  
						
						
						
						
					 
					
						2015-02-20 15:28:54 +01:00