211 Commits

Author SHA1 Message Date
David Williams
64ba3f20f8 Work on extractor tests. 2014-08-11 16:20:11 +02:00
David Williams
11845c1d31 Work on tests. 2014-08-11 15:53:25 +02:00
David Williams
4b3c8a1648 Committing half-finished work on test so that I can work on it from elsewhere. 2014-08-11 08:46:06 +02:00
David Williams
eaea74b7f8 Templatizing marching cubes extractor on mesh type. 2014-08-10 09:18:27 +02:00
David Williams
8326aa8668 Updated test (not really a useful fix but should probably think want we want from this test anyway). 2014-07-24 22:12:02 +02:00
David Williams
2090b0087c Vertices now carry general purpose 'data' rather than a 'material', though the data will be treated as a material in many cases. This is part of making the architecture more generic and involves some renaming. 2014-05-29 11:39:29 +02:00
David Williams
764c9ac97c Simplified vertex types to structs with public members.
Added (currently dummy) decode methods.
2014-05-27 17:05:15 +02:00
David Williams
4aae00e4a8 Renamed SurfaceMesh to just Mesh 2014-05-23 15:17:07 +02:00
David Williams
ab741583e4 Renamed extractXxxSurface() to extractXxxMesh() 2014-05-22 23:26:40 +02:00
David Williams
f2ba500c4c Merge branch 'develop' into feature/vertex-refactor
Conflicts:
	examples/Basic/main.cpp
	examples/Paging/main.cpp
	examples/SmoothLOD/main.cpp
	library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractorWithNormals.h
	tests/TestCubicSurfaceExtractor.cpp
	tests/TestSurfaceExtractor.cpp
	tests/TestVolumeSubclass.cpp
2014-05-12 23:04:19 +02:00
David Williams
217aa93720 Test now uses free-function surface extractor. 2014-05-11 16:41:52 +02:00
David Williams
573c36db87 Renamed vertex classes to the far more meaningful 'CubicVertex' and 'MarchingCubesVertex'. The old names didn't make much sense, even less so now they are templatized. 2014-05-11 15:17:59 +02:00
David Williams
b0a8ca8a64 This commit templatizes the vertex classes on voxel types. This was the main change which was made for Cubiquity and it's very messy at the moment. However, this will improve when we make more use of 'auto' to hide the template madness. 2014-05-07 23:47:18 +02:00
David Williams
5dfa7e2562 The CubicSurfaceExtractor now generates vertices of type PositionMaterialNormal rather than PositionMaterial. The normal property is just a dummy and is not filled in, though conceptually we could put something in there in the future (average normal of surrounding faces?)
The point of this change is to move towards having a single vertex class with known properties (including normal). This makes it simpler to write code which uses the vertices because we always know which properties are present. This will probably be useful when working with vertex buffer objects.
2014-05-05 20:53:47 +02:00
David Williams
2da902d5f9 This change reverts PolyVox back to using Qt 4.8. This is expected to be a temporary change, required because moving to Qt 5 caused various complications on Windows which we are not yet ready to address.
For more details see here: https://bitbucket.org/volumesoffun/polyvox/issue/41/upgrade-to-qt-5
2014-05-05 20:29:52 +02:00
Matt Williams
868fbb84a0 Update to use Qt5
The examples and tests now use Qt5. This allows some nice tidying of the
CMake files, some of which will come in future.

Closes issue #41
2014-03-09 18:02:24 +00:00
David Williams
e52e9e373e Switched test to use unclassed function. 2014-03-07 16:25:24 +01:00
David Williams
0bbb648925 Added functions around CubicSurfaceExtractor. 2014-03-07 16:08:20 +01:00
Daviw Williams
c5780dd8e2 Brought improved blending changes across from Cubiquity branch. 2014-02-26 16:55:09 +01:00
Matt Williams
832a45013a Simplify test creation and add XML output option 2014-01-27 19:39:50 +00: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
a4fc814a51 Rearranging and renaming some code. 2013-07-29 16:04:01 +02:00
David Williams
7146b5ecdb The idea of a 'setTargetMemoryLimitInBytes' function was not really working out. It was too comp-lex and not really clear what the ideal size would be. I think user code needs to call setMaxNumberOfBlocksInMemory() and setMaxNumberOfUncompressedBlocks() directly, if they see from profiling toat too much camressing or paging is taking place. 2013-07-23 13:15:01 +02:00
Daviw Williams
bd60f34bd7 Removing explicit functions to control the number of compressed and uncompressed blocks in memory, and letting the user set a memory limit instead. 2013-07-04 16:23:58 +02:00
Daviw Williams
e38aa3b1b9 Unit tests now test FilePager. 2013-06-28 16:16:08 +02:00
David Williams
a14de4a72e Replaced std::functions with Pager class for paging. 2013-06-16 19:48:14 +02:00
Daviw Williams
1e55859107 Renamed WrapMode::None (and others) to avoid conflict with Python reserved word 'None'. 2013-06-13 16:49:02 +02:00
Daviw Williams
6e8030f4b5 Changes to hopefully fix Linux compile problems. 2013-06-13 15:55:15 +02:00
Daviw Williams
62f273bd74 Small changes, hoping to help the Linux version compile. 2013-06-12 16:52:17 +02:00
Daviw Williams
efb6d12fc8 Eliminated dome calls to getVoxelAt. 2013-06-12 15:22:21 +02:00
Daviw Williams
45af7a4246 Removed some getVoxelAt() calls in tests. 2013-06-12 15:11:45 +02:00
Daviw Williams
7276b872c4 More work replacing getVoxelAt with getVoxel. 2013-06-12 15:03:34 +02:00
Daviw Williams
fa8e7c390f replaced 'getVoxelWithWrapping()' with regular 'getVoxel()', as they can be differentiated by their parameters. 2013-05-17 15:52:18 +02:00
Daviw Williams
e405b46b61 Removed the default value for emptyVoxelExample as it caused compile errors on VS2010. 2013-05-14 15:44:56 +02:00
Matt Williams
f98959f92a Add a new pickVoxel function.
Hopefully this pickVoxel function will fulfil most most need with
raycasting which aren't covered by the existing raycast functions.

It's essentially a wrapper around the current functions, using a custom
functor to store the position of a solid voxel as well as the previous
empty voxel. It doesn't require the user to provide a functor of their own,
just the value that they've assigned to empty voxels.

As well as the function itself, we also have a unit test as well as it
being built in the bindings.
2013-05-01 22:28:46 +01:00
Matt Williams
cc430ae129 Update Python bindings, tests and example to use Python 3 2013-04-17 20:48:15 +01:00
David Williams
5cab70b24c Fixed code to use proper zero initialisation. 2013-03-04 22:01:43 +01:00
Daviw Williams
62370868c8 Reverted accidental changes to tests.
Updated comments in compression code.
2013-02-25 17:06:12 +01:00
Daviw Williams
f70498e806 Removed old code. 2013-02-25 16:34:21 +01:00
Daviw Williams
7e08ed7aec Updated the CubicSurfaceExtractor test to make it a bit more performance intensive, Cubiquity is showing a need for some improvements here. Also added a performance improvement to the CubicsurfaceExtractor. 2013-02-08 15:05:45 +01:00
Daviw Williams
c3801db4e2 Set tests to use MinizCompressor. 2013-02-07 16:20:05 +01:00
Daviw Williams
36968bdd79 Merge branch 'develop' into feature/large-volume-work 2013-02-07 16:11:03 +01:00
Daviw Williams
50c1c7c64b Removed setCompressionEnabled() from LargeVolume. 2013-02-07 15:55:10 +01:00
Daviw Williams
09c6e2bf26 More work making the compression more robust. 2013-02-01 16:10:10 +01:00
Daviw Williams
3d66db50e0 Fixes and comments for RLE compression. 2013-02-01 14:09:29 +01:00
Daviw Williams
46e38c4714 Work on compression. 2013-01-31 16:56:32 +01:00
Daviw Williams
a81ec68714 Work on compression interface. 2013-01-31 16:35:50 +01:00
Matt Williams
6e93048c9f Add a test for C#
This test is not actually run yet but it serves as an example of how to use
the C# bindings.
2013-01-16 15:31:52 +00:00
Daviw Williams
c7937b176d Very bad (but functional!) initial implementation of LargeVolume compression with miniz. 2013-01-10 16:20:29 +01:00
Daviw Williams
a8383b47db Temporarily disabled multiple samplers as they break the LargeVolume tests. 2013-01-08 16:54:17 +01:00