1139 Commits

Author SHA1 Message Date
David Williams
c75b0d58ce Fixed incorrect threshold calculation for floats. 2014-08-18 22:06:44 +02:00
David Williams
0863d82068 Added check to alert the user if their version of Visual Studio is too old. 2014-08-18 16:20:43 +02:00
David Williams
502b21c3bd Moved comments around. 2014-08-18 16:13:59 +02:00
David Williams
5e7c4fbc12 Added handy type aliases for meshes. 2014-08-18 16:01:31 +02:00
David Williams
be47aec7f7 Work on cubic extractor tests. 2014-08-18 15:47:00 +02:00
David Williams
3c82652f46 Removed the use of clever SFINAE tricks to resolve ambiguous functions. It was proving complex with the cubic surface extractor, so we remove it from the marching cubes version as well.
For now, we just rename the ambiguous functions differently to avoid the ambiguity but could come back to this in the future.
2014-08-18 15:38:18 +02:00
David Williams
ba6685289d Work on cubic extractor interface. 2014-08-17 23:43:59 +02:00
David Williams
1f5c074364 Bringing extractCubicMesh into line with extractMarchingCubesMesh. 2014-08-16 16:38:32 +02:00
David Williams
6c30f34089 Renamed 'Controller' to 'ControllerType' when used as a template parameter. 2014-08-16 16:24:52 +02:00
David Williams
0ccc268b16 Avoided ambiguous functions through the (possibly too clever) use of SFINAE. 2014-08-16 09:55:08 +02:00
David Williams
aa4591d206 Added comments. 2014-08-14 16:34:29 +02:00
David Williams
93fdd36f8f Work on interface to 'extractMarchingCubesMesh' and tests. 2014-08-14 15:57:10 +02:00
David Williams
d4118a2052 More work on tests. 2014-08-12 16:53:47 +02:00
David Williams
ccc9a3c158 More work on surface extraction tests. 2014-08-12 15:53:30 +02:00
David Williams
e2f43ebc5d More work on tests and surface extraction functions. 2014-08-11 23:46:01 +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
29baac9d6d Tidying mesh class. 2014-08-09 09:31:45 +02:00
David Williams
94d1b57b81 Tidying mesh class. 2014-08-09 09:18:30 +02:00
David Williams
c5cf71b161 Extractors now templatised on index type. 2014-08-07 23:39:56 +02:00
David Williams
52dd0189d5 Simplified/removed multiple versions of functions, as we're now moving to VS2013 which supports default parameters for template functions. 2014-08-07 23:14:57 +02:00
David Williams
37757da98c Qualified use of abs() as it was causing problems on OS X 2014-07-30 23:43:26 +02:00
David Williams
bfa14a32df Split 'decode()' function into several variants so it's not so heavily overloaded. 2014-07-24 16:55:11 +02:00
David Williams
98e722271e More restructuring code. 2014-07-24 15:40:03 +02:00
David Williams
972bc3a456 Restructuring some code. 2014-07-24 15:13:08 +02:00
David Williams
79c62be039 Oct-encoded normal now stored as uint again. 2014-07-23 23:50:04 +02:00
David Williams
4a42535f13 Added functions to perform 'octahedral' encoding and decoding of normals.
See http://jcgt.org/published/0003/02/01/paper-lowres.pdf
2014-07-23 23:35:46 +02:00
David Williams
dd5e34bc92 Moved normal encoding logic. 2014-07-22 23:48:18 +02:00
David Williams
9b84c9d07d Fixed compile error 2014-06-14 09:59:01 +02:00
David Williams
c68a48df6b Merge remote-tracking branch 'origin/feature/vertex-and-example-refactor' into develop
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/Mesh.h
2014-06-04 23:12:27 +02:00
David Williams
b1c03c9f9c Fix to mesh declaration. 2014-06-03 21:37:22 +02:00
David Williams
70b04a055e Compile fioxes for GCC.
Turns out the leading underscore was required, as otherwise GCC complains the typedef is hiding the original.
2014-06-03 21:21:04 +02:00
David Williams
b7be2ff7ab Added some error handling. 2014-06-03 16:59:09 +02:00
David Williams
06540d6c97 More work to make Mesh be templatized on IndexType.
This requires making the SurfaceExtractor classes be templatised on MeshType (at least for now - maybe there is a better approach when working with free functions). This has been partially done for CubicSurfaceExtractor.
2014-06-03 16:52:09 +02:00
David Williams
ffdf606ad6 Added IndexType template parameter to Mesh class. 2014-06-03 15:58:07 +02:00
David Williams
5701e7a6cc It seems we don't need these leading underscores? Perhaps they were required in older versions of Visual Studio? Let's see what GCC/Clang says. 2014-06-03 15:51:42 +02:00
David Williams
78d750a0f2 Removed unused 'LodRecord'. 2014-06-03 15:50:30 +02:00
David Williams
31e5a6e346 Replaced 'm_region' with 'm_offset' and demonstrated its use. 2014-06-02 17:30:41 +02:00
David Williams
9fd52e3494 Removing more old stuff from the Mesh class. 2014-06-02 09:40:28 +02:00
David Williams
0bff22fbf5 Purged old/dead code from Mesh class. 2014-06-02 09:08:07 +02:00
David Williams
82f9d6ad6f Renamed VertexTypes.h to Vertex.h. 2014-06-02 08:57:30 +02:00
David Williams
d7d1d99ca9 Renamed members to differentiate between encoded and decoded values. 2014-06-02 08:45:25 +02:00
David Williams
4fa2400ef2 Comments and tidying. 2014-06-02 08:25:18 +02:00
David Williams
80d9feb5ea Made functions inline as they are defined in headers. 2014-06-01 21:54:31 +02:00
David Williams
b259b60de2 Tidying/commenting. 2014-06-01 17:35:00 +02:00
David Williams
392ccab703 Tidying decoding code. 2014-06-01 17:23:08 +02:00
David Williams
78ac1d12b5 The new, more compact vertex types are specific to their respective surface extractors, so they belong in the corresponding source files. 2014-06-01 17:01:36 +02:00
David Williams
2c916300ea Work on encoded marching cubes normals. 2014-05-29 21:45:26 +02:00
David Williams
e40eb6d762 Work on GPU decoding. 2014-05-29 19:29:15 +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