178 Commits

Author SHA1 Message Date
Daviw Williams
57b78e148b Extended volume unit test. This is mainly to test whether I can commit to the new Git repo on BitBucket. 2012-12-03 16:21:18 +01:00
David Williams
47e8f4a86d Improved raycast unit test so that it exits early if the ray leaves the volume. 2012-12-02 17:33:59 +01:00
David Williams
c37997bfe2 Updated new volumes test. 2012-12-02 14:02:50 +01:00
David Williams
9e8e976bfe Work on new unit test for volumes. 2012-12-02 09:43:00 +01:00
David Williams
a026546bb4 Making some functions in Vector use the new 'OperationType'. 2012-11-29 18:16:32 +01:00
Matt Williams
79cc521666 Remove Density and Material tyes from bindings
We now only have the bindings for (u)int{8,16,32}_t and float. This will
hopefully simplify things.
2012-11-26 13:58:51 +00:00
Matt Williams
6e296b010f Fix path for test 2012-11-25 18:46:56 +00:00
Matt Williams
3ed3ac6998 Start Python bindings for Raycast
This is only beginning of the bindings here. It's starting to get more
complicated due to the use of callbacks. To be able to define a callback
function in Python which is then called by a C++ algorithm requires quite a
bit of wrapping boilerplate.

The class PyCallback here will wrap a Python callable and call it with the
density value of the voxel. It's not very generic and at present it can't
pass the sampler itself since it's not available in the Python bindings.

Regardless, the new test added here (TestRaycast.py) works as expected and
hopefully we will be able to build up from here.
2012-11-25 18:07:12 +00:00
Matt Williams
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
Matt Williams
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
Matt Williams
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
Matt Williams
3577a56eb3 Rename some SWIG stuff to prepare for C# bindings 2012-11-21 17:03:17 +00:00
unknown
d4edc1047e Renamed 'PolyVoxImpl' to just 'Impl'. 2012-11-05 17:00:09 +01:00
unknown
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
David Williams
f07fc46458 Verified AStar fix. 2012-11-02 11:45:31 +01:00
unknown
1e81403e62 Hopefully fixed difference in A* between windows.Linux. 2012-11-02 11:36:28 +01:00
Matt Williams
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
Matt Williams
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
Matt Williams
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
p265186
3c0f2ab4b2 Fixed all warnings with -Wall and -Wextra 2012-10-25 17:12:41 +02:00
David Williams
c8ba433b88 Replaced temporary use of MyClassname. 2012-10-05 16:53:08 +02:00
David Williams
b86a3552e6 Tidying up unclassed ambient occlusion calculator. 2012-10-05 15:57:41 +02:00
David Williams
3b61adefaa Work unclassing ambientOcclusionCalculator 2012-10-05 15:42:16 +02:00
David Williams
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
David Williams
191d04ec02 Split the raycast funtion into two versions. 2012-10-02 17:26:25 +02:00
David Williams
7af38d83a3 Added meaningful raycast return values and improved tests. 2012-10-02 16:52:43 +02:00
David Williams
23184e6924 Initial work on unclassing raycast. 2012-10-02 16:03:39 +02:00
David Williams
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
David Williams
4b63c34305 Brought the manual and API docs together under the same heading in Visual Studio. 2012-09-28 13:54:27 +02:00
Matt Williams
480c159327 Add copyright headers to all the CMake files 2012-08-24 13:20:41 +01:00
Matt Williams
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
unknown
301f93d896 Turned isQuadNeeded() (which was a stl::function) into a function object. 2012-08-09 16:06:10 +02:00
Matt Williams
1a3999335a Change CMake variable name to our standard scheme 2012-07-19 19:57:19 +01:00
Matt Williams
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
Matt Williams
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
Matt Williams
b9087ec6bf Fix a few BUILD_→ENABLE_ changes that I missed 2012-07-17 20:26:00 +01:00
unknown
66035c6d13 Fixes to the way the marching cubes controller is used. 2012-07-15 23:19:59 +02:00
unknown
b140e16083 Renamed MarchingCubesController to DefaultMarchingCubesController. 2012-07-15 23:07:00 +02:00
unknown
9a498bad7b Renamed SurfaceExtractionController to MarchingCubesController. 2012-07-15 17:53:37 +02:00
unknown
679d98735a Renamed SurfaceExtractor to MarchingCubesSurfaceExtractor. 2012-07-15 17:40:37 +02:00
unknown
23fbb59af8 Added test for CustomSurfaceExtractorController. 2012-07-09 18:30:21 +02:00
unknown
1217ea1fd8 Work on custom thresholds in SurfaceExtractionController. 2012-07-09 17:24:55 +02:00
David Williams
1aa1978de1 Removed now redundant cpp files.
Removed a test which we don't need any more.
2012-07-08 08:52:36 +02:00
David Williams
1d361c583b Removed remaining use of VoxelTypeTraits. 2012-07-08 08:44:54 +02:00
unknown
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
Matt Williams
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
Matt Williams
42e2ebf734 Add a Python test to the suite to test surface extraction 2012-06-21 22:25:20 +01:00
p265186
9fdc30643a Linux compile fixes. 2012-06-15 17:29:39 +02:00
Matt Williams
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
unknown
71b884e97b Removed remaining uses of template template parameters. 2012-06-12 16:38:51 +02:00