Commit Graph

270 Commits

Author SHA1 Message Date
bb3d3c4b68 Add a EXTRACTORS macro to automate the generation of the extractors
Like with VOLUMETYPES it is centralising the definitions of the volume and
voxel types.
2012-11-24 15:37:46 +00:00
3902e00a0f Add a CompilerCapabilities.h.in file which is filled in by CMake
It will #define a each of the basic features detected by CMake which can
then be used by other headers (like TypeDef.h) to set things up for
PolyVox.

It is this file which you will have to manually edit and rename if you want
to skip using CMake.
2012-11-23 15:41:26 +00:00
3e79e0bfaa Fix LowPassFilter test
The implicit default kernel size for the non-SAT version was 3 but the SAT
version was using an explicit kernel of 5 which caused a discrepancy.

Now just use a kernel of 3.
2012-11-22 22:23:07 +00:00
3577a56eb3 Rename some SWIG stuff to prepare for C# bindings 2012-11-21 17:03:17 +00:00
d4edc1047e Renamed 'PolyVoxImpl' to just 'Impl'. 2012-11-05 17:00:09 +01:00
3c69bb651f Moved PolyVoxImpl inside of PolyVoxCore. This is the first stage of some tidying to better hide implementation details from the user. 2012-11-05 16:40:02 +01:00
f07fc46458 Verified AStar fix. 2012-11-02 11:45:31 +01:00
1e81403e62 Hopefully fixed difference in A* between windows.Linux. 2012-11-02 11:36:28 +01:00
bb87e9e628 Fix Ambient Occlusion Calculator to accept functors, functions and lambdas
By changing the 'pass by value' to be a 'pass by const reference' (and
adding some const qualifiers) the calculator can take any of the three
types.

Performance could be improved further using C++11 perfect forwarding to
pass the function on without changing a thing. I added a comment to remind
us of this.

Also added a test for passing a function and a (commented out) test for
passing a lambda.
2012-10-28 15:41:53 +00:00
d6640f64d0 Add benchmark annotations to the tests
This will affect total running times simce some tests will be run multiple
times but it allows precise becnhmarking.
2012-10-27 21:37:54 +01:00
2e71019d8f Don't fail if Qt isn't installed
If Qt isn't installed, set the reporting variables correctly but don't fail.
2012-10-25 20:10:37 +01:00
3c0f2ab4b2 Fixed all warnings with -Wall and -Wextra 2012-10-25 17:12:41 +02:00
c8ba433b88 Replaced temporary use of MyClassname. 2012-10-05 16:53:08 +02:00
b86a3552e6 Tidying up unclassed ambient occlusion calculator. 2012-10-05 15:57:41 +02:00
3b61adefaa Work unclassing ambientOcclusionCalculator 2012-10-05 15:42:16 +02:00
419fa2e5d4 Work on unclassing the ambient occlusion calculation as it is currently making use of the old raycasts. 2012-10-02 21:05:09 +02:00
191d04ec02 Split the raycast funtion into two versions. 2012-10-02 17:26:25 +02:00
7af38d83a3 Added meaningful raycast return values and improved tests. 2012-10-02 16:52:43 +02:00
23184e6924 Initial work on unclassing raycast. 2012-10-02 16:03:39 +02:00
01e2a88b13 Improving the LowPassFilter to take advantage of the features made available by the voxel refactoring.
Also improved the test case.
2012-09-28 18:09:21 +02:00
4b63c34305 Brought the manual and API docs together under the same heading in Visual Studio. 2012-09-28 13:54:27 +02:00
480c159327 Add copyright headers to all the CMake files 2012-08-24 13:20:41 +01:00
b96309f4a4 Use the CMake folder tool to help IDEs groupt targets.
This is done as seen in http://athile.net/library/blog/?p=288

Hopefully this works in Visual Studio as KDevelop doesn't use this feature.
2012-08-12 04:29:51 +01:00
301f93d896 Turned isQuadNeeded() (which was a stl::function) into a function object. 2012-08-09 16:06:10 +02:00
1a3999335a Change CMake variable name to our standard scheme 2012-07-19 19:57:19 +01:00
f11b4e17c1 Build only one of static or shared libraries
As discussed on the forums, to simplify the CMake code and avoid having to
manually specify dependencies this removes the hack to allow both static
and shared libraries to be built at the same time.

It introduces the new variable LIBRARY_TYPE which can be either STATIC or
DYNAMIC.

See: http://www.volumesoffun.com/phpBB3/viewtopic.php?p=3203#p3203
2012-07-19 17:33:34 +01:00
4916b5952b Fix type in CMake variable.
It would be nice if CMake issued warnings in cases like this but it
seems that it is currently unable to.
2012-07-18 20:36:07 +01:00
b9087ec6bf Fix a few BUILD_→ENABLE_ changes that I missed 2012-07-17 20:26:00 +01:00
66035c6d13 Fixes to the way the marching cubes controller is used. 2012-07-15 23:19:59 +02:00
b140e16083 Renamed MarchingCubesController to DefaultMarchingCubesController. 2012-07-15 23:07:00 +02:00
9a498bad7b Renamed SurfaceExtractionController to MarchingCubesController. 2012-07-15 17:53:37 +02:00
679d98735a Renamed SurfaceExtractor to MarchingCubesSurfaceExtractor. 2012-07-15 17:40:37 +02:00
23fbb59af8 Added test for CustomSurfaceExtractorController. 2012-07-09 18:30:21 +02:00
1217ea1fd8 Work on custom thresholds in SurfaceExtractionController. 2012-07-09 17:24:55 +02:00
1aa1978de1 Removed now redundant cpp files.
Removed a test which we don't need any more.
2012-07-08 08:52:36 +02:00
1d361c583b Removed remaining use of VoxelTypeTraits. 2012-07-08 08:44:54 +02:00
777b631f88 Mostly removed use of VoxelTypeTraits. It's a bit messy because I'm committing halfway through, as I'm away fro my development machine for the next week and want to pick this up from my laptop.
SurfaceExtractor test is currently broken due to custom threshold support not curretly working.
2012-07-05 14:49:51 +02:00
63c5d510d1 'Fix' the A* test on GCC
Clang is suggesting that there's are some signed/unsigned comparisons
as well as some floating point comparisons which might be causing
some problems.
2012-06-29 18:31:49 +01:00
42e2ebf734 Add a Python test to the suite to test surface extraction 2012-06-21 22:25:20 +01:00
9fdc30643a Linux compile fixes. 2012-06-15 17:29:39 +02:00
06439a71bd Add 'typename' where necessary
This fixes the compilation on Linux after the
template template parameter removals.
2012-06-14 23:07:42 +02:00
71b884e97b Removed remaining uses of template template parameters. 2012-06-12 16:38:51 +02:00
fbdfe3a4ec Removed template template parameters from LowPassFilter. 2012-06-07 16:43:20 +02:00
c9e83f41f1 Removed use of template template parameters from AStarPathfinder. 2012-06-05 16:33:29 +02:00
9db04f38bc Removed use of template template parameters from Raycast and AmbientOcclusionCalculator. 2012-05-31 13:31:42 +02:00
29d816d416 Removed template template parameters from SurfaceExtractor. 2012-05-18 15:38:18 +02:00
fec1191a73 Removed use of template template parameters from CubicSurfaceExtractor. 2012-05-18 15:12:30 +02:00
309f270e67 Exposed 'VoxelType' in BaseVolume. 2012-04-16 16:50:41 +02:00
2207b494e6 Merge branch 'master' of git@gitorious.org:polyvox/polyvox.git 2012-04-16 15:23:53 +02:00
7d1d81c732 Work making CubicSurfaceExtractorWithNormals use 'isQuadNeeded'. 2012-04-16 15:23:45 +02:00