David Williams 
							
						 
					 
					
						
						
							
						
						f178dc084b 
					 
					
						
						
							
							Updated unit tests. It seems we had a bug which was causing an excessive number of vertices to be generated.  Not sure exactly what was wrong by the refactoring has fixed this. However, it still needs testing in Cubiquity to verify.  
						
						
						
						
					 
					
						2015-05-19 23:14:31 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						3937dc3c61 
					 
					
						
						
							
							Applying test to a larger region so we can more easily benchmark the performance (otherwise the VS profiler can fail if the test runs too quickly).  
						
						
						
						
					 
					
						2015-05-10 11:40:58 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						143c9fd08d 
					 
					
						
						
							
							Made test 10x longer.  
						
						
						
						
					 
					
						2015-04-13 21:34:59 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						c562341db0 
					 
					
						
						
							
							Added a second PagedVolume to the tests with much higher allowed memory usage. This makes more sense when testing random access, as low permitted memory usage causes disk IO to become the bottleneck.  
						
						
						
						
					 
					
						2015-04-10 16:56:19 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						8bd013f28e 
					 
					
						
						
							
							Added RawVolume version of test as well.  
						
						
						
						
					 
					
						2015-04-10 16:14:29 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						887ecc1aaa 
					 
					
						
						
							
							Adding test to measure voxel access times when sampling the volume randomly.  
						
						
						
						
					 
					
						2015-04-10 16:09:35 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						d41a7d2747 
					 
					
						
						
							
							Removed redundant samplers.  
						
						
						
						
					 
					
						2015-04-02 21:35:50 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						b415e5c5f3 
					 
					
						
						
							
							calculateAmbientOcclusion() now works with both RawVolume and PagedVolume.  
						
						
						
						
					 
					
						2015-03-30 11:44:25 +02:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1c17a7147b 
					 
					
						
						
							
							Made test  do 10 times more iterations.  
						
						
						
						
					 
					
						2015-03-28 08:42:06 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						322bedc009 
					 
					
						
						
							
							Improved test for PagedVolume::Chunk performance.  
						
						
						
						
					 
					
						2015-03-26 23:45:01 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						1d24b189ca 
					 
					
						
						
							
							Refactoed test code.  
						
						
						
						
					 
					
						2015-03-25 17:12:11 +01:00 
						 
				 
			
				
					
						
							
							
								David Williams 
							
						 
					 
					
						
						
							
						
						931c6cd3ec 
					 
					
						
						
							
							Added tests for chunk performance.  
						
						
						
						
					 
					
						2015-03-25 16:40:05 +01:00 
						 
				 
			
				
					
						
							
							
								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