David Williams 
							
						 
					 
					
						
						
							
						
						d477bec540 
					 
					
						
						
							
							Revert "Replaced Vector3D with integer as key to map."  
						
						... 
						
						
						
						This reverts commit e82d6beca1 
						
						
					 
					
						2015-03-21 14:41:15 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						0e995b5140 
					 
					
						
						
							
							Fixed some compiler warnings.  
						
						
						
						
					 
					
						2015-03-21 07:40:32 +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 
							
						 
					 
					
						
						
							
						
						c98ad8c948 
					 
					
						
						
							
							Merge branch 'feature/remove-wrap-modes' into develop  
						
						
						
						
					 
					
						2015-03-07 21:19:21 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						41d5ea6178 
					 
					
						
						
							
							Move FindQt5Test logic inside tests directory  
						
						
						
						
					 
					
						2015-02-28 10:40:05 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						f87966686d 
					 
					
						
						
							
							Another 'typename', GCC really likes these.  
						
						
						
						
					 
					
						2015-02-10 21:52:05 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1cbc0605fd 
					 
					
						
						
							
							Added 'typename'.  
						
						
						
						
					 
					
						2015-02-10 21:49:28 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						c62bde0066 
					 
					
						
						
							
							Work on getting the OpenGL/Qt5 support working with new header-only library.  
						
						
						
						
					 
					
						2015-02-09 22:11:06 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						16a75d0606 
					 
					
						
						
							
							Reoranising header structure.  
						
						
						
						
					 
					
						2015-02-07 17:16:54 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						a296807ed9 
					 
					
						
						
							
							Removed PolyVoxUtil.  
						
						
						
						
					 
					
						2015-02-07 14:59:08 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						c3f2e5217e 
					 
					
						
						
							
							Removed CMake code which tries to build/use PolyVoxCore as a library.  
						
						
						
						
					 
					
						2015-02-06 23:29:35 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						86357d66b7 
					 
					
						
						
							
							Normalized line endings  
						
						
						
						
					 
					
						2014-09-25 22:38:01 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						75df6621bd 
					 
					
						
						
							
							GCC fixes  
						
						
						
						
					 
					
						2014-09-21 23:07:14 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						db2e62d2a8 
					 
					
						
						
							
							Replaced LargeVolume and SimpleVolume with PagedVolume in tests and examples.  
						
						
						
						
					 
					
						2014-09-21 17:57:42 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						880dcd8645 
					 
					
						
						
							
							Fixed incorrect messages about temp files not being deleted.  
						
						
						
						
					 
					
						2014-09-20 17:17:18 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						4779f91787 
					 
					
						
						
							
							TestVolume unit test now tests PagedVolume rather than SimpleVolume and LargeVolume.  
						
						
						
						
					 
					
						2014-09-20 14:49:12 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d2bbd6beba 
					 
					
						
						
							
							Some renaming.  
						
						
						
						
					 
					
						2014-09-18 14:58:17 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						8dd026e095 
					 
					
						
						
							
							Work on limiting maximum memory usage.  
						
						
						
						
					 
					
						2014-09-18 14:51:43 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						c0a22de2df 
					 
					
						
						
							
							Removed a lot of compression-related code.  
						
						
						
						
					 
					
						2014-09-13 12:20:56 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						302c6e688b 
					 
					
						
						
							
							More work eliminating compression from inside LargeVolume.  
						
						
						
						
					 
					
						2014-09-13 11:59:51 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						4781ca5c42 
					 
					
						
						
							
							Work on removing compression from LargeVolume.  
						
						
						
						
					 
					
						2014-09-12 15:36:28 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						882798ccb8 
					 
					
						
						
							
							Modifying surface extractor test to work with LargeVolume.  
						
						
						
						
					 
					
						2014-09-12 00:02:06 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						a9f1a29868 
					 
					
						
						
							
							Adding Vector performance test.  
						
						
						
						
					 
					
						2014-09-05 16:06:40 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						25860122b0 
					 
					
						
						
							
							Fixed incorrect array indexing.  
						
						
						
						
					 
					
						2014-08-25 23:07:29 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d06dbdf054 
					 
					
						
						
							
							Bit renaming. Old Array class is gone, and is replaced by the Array2D class which has also been renamed to Array.  
						
						
						
						
					 
					
						2014-08-24 22:30:50 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d49db280d5 
					 
					
						
						
							
							TestVolumeSubclass now uses Array2D instead of Array.  
						
						
						
						
					 
					
						2014-08-24 21:55:44 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						528873bcd3 
					 
					
						
						
							
							Extended 'Array2D class to be multidimensional (will rename it shortly).  
						
						
						
						
					 
					
						2014-08-24 21:54:59 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						20815b6083 
					 
					
						
						
							
							Moved Array2D to it's own file.  
						
						
						
						
					 
					
						2014-08-21 21:38:19 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						46358adfbc 
					 
					
						
						
							
							New array class is 50(!) times faster than the old one on raw read-write performance. It's also significantly simply.  
						
						
						
						
					 
					
						2014-08-21 21:31:09 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d9f328cadb 
					 
					
						
						
							
							It seems the PolyVox Array class is really slow compared to raw C arrays. I've added a test ready for some experimentation.  
						
						
						
						
					 
					
						2014-08-21 16:57:23 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						4482538f9e 
					 
					
						
						
							
							Added header for testing RawVolume as well as SimpleVolume.  
						
						
						
						
					 
					
						2014-08-20 17:16:45 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						33c5fe7526 
					 
					
						
						
							
							More cubic surface extractor tests.  
						
						
						
						
					 
					
						2014-08-19 21:36:08 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						349009c67e 
					 
					
						
						
							
							Removed template aliases as they push GCC version up to 4.7, and we don't really *need* them.  
						
						
						
						
					 
					
						2014-08-19 21:02:06 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						72f696652a 
					 
					
						
						
							
							Added marching cubes performance tests.  
						
						
						
						
					 
					
						2014-08-18 22:10:35 +02:00