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
David Williams
9ad4c3fcf7
Initial checkin of Timer class.
2013-08-07 23:07:26 +02:00
David Williams
a308102585
VS2012 compile warning fix.
2013-08-07 14:53:08 +02:00
David Williams
acf5bef5e7
Merge branch 'feature/large-volume-tidying' into develop
2013-08-01 16:34:38 +02:00
David Williams
e485265dd8
Fixes to allow the SWIG/Python bindings to build again.
2013-08-01 16:08:44 +02:00
David Williams
dcf86a905c
Split Block, CompressedBlock and UncompressedBlock into separate files. It's tidier, and maybe better for SWIG?
2013-08-01 15:32:12 +02:00
David Williams
6f17e0faa6
The 'Block' class is no longer considered just to be an implementation details of LargeVolume. Users may need to interact with them directly of they implement their own paging or compression systems.
2013-08-01 15:19:10 +02:00
David Williams
9503d975c1
GCC compile fixes.
2013-07-31 16:37:39 +02:00
David Williams
e35b58ba18
Fixed paging example.
2013-07-31 15:49:00 +02:00
David Williams
4478e365c9
Removed RLECompressor as the code is now in RLEBlockCompressor.
...
Things are starting to get back under control. All tests pass, and all examples except PagingExample work.
2013-07-30 17:01:27 +02:00
David Williams
fa8813ba86
FilePager now cleans up after itself.
2013-07-30 16:34:40 +02:00
David Williams
d1138dcdb1
Some new block compression code as I rework the previous code...
2013-07-30 16:01:03 +02:00