Matt Williams
54f0856dbe
Merge branch 'develop' into feature/dualcontouring
2014-01-27 19:42:27 +00:00
Matt Williams
832a45013a
Simplify test creation and add XML output option
2014-01-27 19:39:50 +00:00
David Williams
a9238051fa
Changed some logging statements to macros which can be #defined out.
2014-01-26 23:53:10 +01:00
Daviw Williams
f58161c748
Added logging macros which can be disabled at compile time.
2014-01-24 16:35:58 +01:00
Daviw Williams
c177891e5d
Separated logging code into different .cpp/.h files.
2014-01-24 15:21:59 +01:00
Daviw Williams
8d5f6af7cd
Compile fix for VS2012, which now builds successfully.
2014-01-24 13:53:44 +01:00
Matt Williams
09d5624cc8
Pass things as const reference to the extractor
2014-01-16 17:36:13 +00:00
Matt Williams
cc1e1e477c
Extractor can now use a Controller to define voxel type and threshold
...
In future, it will also be used to extract pre-computed gradients and
intersection points.
2014-01-11 23:57:34 +00:00
Matt Williams
4e13f0afa5
Checking for zero exactly gives better solutions to QEF
2014-01-11 22:23:55 +00:00
Matt Williams
81ce31432c
Rearrange some things to keep definitions in sensible places
2014-01-11 22:23:14 +00:00
Matt Williams
6294013709
Use the C++ versions of these functions
2014-01-11 20:29:54 +00:00
Matt Williams
2cfaf241c8
Explicitly cast these to floats
2014-01-11 20:28:53 +00:00
Matt Williams
63f0def22f
Require that the voxel is a signed type
...
This means that a static_cast<float> is no longer needed to calculate the
gradient. A static_assert provides user feedback.
The next step here would be to use a MarchingCubesController-type solution
to define the density value from a voxel. This way, also the gradient can
be stored.
2014-01-11 19:59:19 +00:00
Matt Williams
af308cb187
Change logic for calculating whether there was an intersection
2014-01-11 19:55:56 +00:00
Matt Williams
1d7d66a1de
Add some (commented-out) logging for timings
2014-01-10 19:14:01 +00:00
Matt Williams
c92b933254
A few consistency tweaks
2014-01-10 19:13:21 +00:00
Matt Williams
ac3fb84055
Calculate gradients first to reduce number of calculations
...
Gives about a 2× speedup.
2014-01-10 19:12:45 +00:00
Matt Williams
20b8b8fc3d
Add const. Gives a few percent performance improvement.
2014-01-09 23:00:25 +00:00
Matt Williams
601b2a6d21
Improved performance of Dual Contouring
...
Performance is up from 10 times slower than MC to only 3 times.
About a third of that time is spent calculating gradients.
2014-01-09 20:07:15 +00:00
Matt Williams
7877600538
Add first draft of Dual Contouring surface extractor
2014-01-07 17:18:01 +00:00
David Williams
d96dcaa531
Another Mac/Clang fix.
2013-12-31 14:53:53 +01:00
David Williams
1cb486cb33
Fixed Clang detection.
2013-12-31 11:19:00 +01:00
Daviw Williams
3db5e1b2f6
Added microsecond precision to timers.
2013-11-14 15:35:41 +01:00
Daviw Williams
5294efc473
Clear the 'last accessed block' flag before flushing the volume.
2013-11-12 16:57:11 +01:00
Daviw Williams
85d8bdb30c
Rearranged some code to try and improve the robustness of block paging and compression.
2013-11-12 16:47:57 +01:00
Daviw Williams
1c5a3f7ef5
Reverted attempts to suppress GCC warnings and just removed the offending asserts instead.
...
Revert "Added asserts to catch invalid material/density values."
This reverts commit 89438220464778d167d86bb59e095a85ccdba080.
2013-10-25 12:44:40 +02:00
Daviw Williams
afddb59d69
Reverted attempt to avoid warnings. Just suppressed them instead.
...
Revert "Attempting to work around a GCC warning."
This reverts commit 3fe92086f1bdde06eb3e9bd812fc19a279154458.
2013-10-24 14:37:18 +02:00
Daviw Williams
3fe92086f1
Attempting to work around a GCC warning.
2013-10-23 16:33:42 +02:00
David Williams
8943822046
Added asserts to catch invalid material/density values.
2013-10-20 09:12:37 +02:00
Daviw Williams
29bded222f
Removed unnecessary error handling.
2013-10-04 13:56:31 +02:00
David Williams
21001d6862
Removed wrapper for class which was removed.
2013-10-04 13:35:31 +02:00
David Williams
1531e1cd00
Switched some code to size_t for compatibility with Miniz.
2013-10-04 13:30:30 +02:00
Daviw Williams
4d683627da
Added some comments.
2013-10-03 16:56:14 +02:00
Daviw Williams
d17c1b404b
Bit more tidying of Miniz code.
2013-10-03 16:45:46 +02:00
Daviw Williams
ef615cc838
Added missing file.
2013-10-03 16:26:43 +02:00
Daviw Williams
dcea5ccc54
Merge branch 'feature/miniz-fixes' into develop
2013-10-02 16:58:48 +02:00
Daviw Williams
498f21f63f
Replaced arrays with std::vector.
2013-10-02 16:48:30 +02:00
Daviw Williams
a4e09c2481
Small fixes (including crash fix).
2013-10-02 15:36:21 +02:00
Daviw Williams
29ca1e763f
Renamed functions to avoid confusion.
2013-10-02 15:09:55 +02:00
Daviw Williams
513c3a90b0
Rearranging some miniz code to simplify it a bit.
2013-10-01 16:33:39 +02:00
Daviw Williams
319a0ce352
Removed old compression classes.
2013-10-01 15:58:32 +02:00
Daviw Williams
f63bb510b3
Merged some code from MinizCompressor into MinizBlockCompressor. We don't really need two separate classes for this stuff.
2013-10-01 15:51:23 +02:00
Daviw Williams
4ee2a61a15
Added a siply wrapper .h/cpp pair to abstract away the fact that miniz in provided as a single .c file which we include directly, and to avoid linker problems.
2013-10-01 15:33:40 +02:00
Matt Williams
f81b42747b
Implement Timer for C++11
...
This uses std::chrono::system_clock
2013-08-22 20:40:45 +01:00
David Williams
55dc066a3f
Fixed bug with MinizBlockCompressor always saving out 10,000 bytes of data.
2013-08-19 16:27:52 +02:00
David Williams
07f1ca42d2
Uncompressed blocks are now flushed before compressed blocks.
2013-08-12 21:04:55 +02:00
David Williams
6fb30a40f5
Bringing across Region enhancements from Cubiquity branch.
2013-08-09 20:39:17 +02:00
David Williams
b9546ddcfa
Extra checks in during marching cubes to try and catch corrupt data.
2013-08-09 14:09:59 +02:00
Matt Williams
7c74e1faff
Move Timer.h to correct location
...
Also add a missing semi-colon.
2013-08-08 10:42:57 +01:00
David Williams
2f99964606
Tidying timer.
2013-08-07 23:24:20 +02:00