Commit Graph

961 Commits

Author SHA1 Message Date
9b84c9d07d Fixed compile error 2014-06-14 09:59:01 +02:00
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
b1c03c9f9c Fix to mesh declaration. 2014-06-03 21:37:22 +02:00
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
b7be2ff7ab Added some error handling. 2014-06-03 16:59:09 +02:00
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
ffdf606ad6 Added IndexType template parameter to Mesh class. 2014-06-03 15:58:07 +02:00
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
78d750a0f2 Removed unused 'LodRecord'. 2014-06-03 15:50:30 +02:00
31e5a6e346 Replaced 'm_region' with 'm_offset' and demonstrated its use. 2014-06-02 17:30:41 +02:00
9fd52e3494 Removing more old stuff from the Mesh class. 2014-06-02 09:40:28 +02:00
0bff22fbf5 Purged old/dead code from Mesh class. 2014-06-02 09:08:07 +02:00
82f9d6ad6f Renamed VertexTypes.h to Vertex.h. 2014-06-02 08:57:30 +02:00
d7d1d99ca9 Renamed members to differentiate between encoded and decoded values. 2014-06-02 08:45:25 +02:00
4fa2400ef2 Comments and tidying. 2014-06-02 08:25:18 +02:00
80d9feb5ea Made functions inline as they are defined in headers. 2014-06-01 21:54:31 +02:00
b259b60de2 Tidying/commenting. 2014-06-01 17:35:00 +02:00
392ccab703 Tidying decoding code. 2014-06-01 17:23:08 +02:00
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
2c916300ea Work on encoded marching cubes normals. 2014-05-29 21:45:26 +02:00
e40eb6d762 Work on GPU decoding. 2014-05-29 19:29:15 +02:00
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
85c5686ff9 Work on more compact version of MarchingCubesVertex. 2014-05-29 09:53:16 +02:00
e9ba998f2f Changes to the folder organization of some files in Visual Studio (via CMake's source_group). 2014-05-28 14:03:26 +02:00
35049b7a53 Throw exception if extracted region is too large. 2014-05-27 23:23:24 +02:00
37ba9ab338 CubicVertex now uses a more memory efficient representation which can be decoded on the CPU or GPU. 2014-05-27 23:01:38 +02:00
764c9ac97c Simplified vertex types to structs with public members.
Added (currently dummy) decode methods.
2014-05-27 17:05:15 +02:00
f65edddd81 Tidying up. 2014-05-24 08:38:18 +02:00
4aae00e4a8 Renamed SurfaceMesh to just Mesh 2014-05-23 15:17:07 +02:00
ab741583e4 Renamed extractXxxSurface() to extractXxxMesh() 2014-05-22 23:26:40 +02:00
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
d69e840055 Merge branch 'develop' into feature/vertex-refactor
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/DefaultIsQuadNeeded.h
	library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.inl
	library/PolyVoxCore/source/VertexTypes.cpp
2014-05-11 20:45:31 +02:00
5191c3c068 Merge branch 'develop' into feature/extractor-refactor 2014-05-11 20:35:44 +02:00
a34c106382 I accidentally merged the 'cubiquity-version' feature back into develop. It seems I can't simply reverse this commit (at least through SourceTree ) because it was a merge, so I'm having to simply revert the contents of the commit (i.e. the files). Bit of a mess! 2014-05-11 20:34:41 +02:00
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
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
4c2aea3db1 Removed CubicSurfaceExtractorWithNornals. Going forward users will be expected to compute flat normals in the fragment shader. 2014-05-06 22:00:24 +02:00
12246d1633 The PositionMaterial class can now be removed as we're not using it. 2014-05-05 20:58:35 +02:00
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
f05d54b985 Merge branch 'develop' into feature/extractor-refactor 2014-03-17 16:07:29 +01:00
d06650172a Added missing header which was causing problems when compiling Cubiquity on Linux. 2014-03-16 21:13:15 +01:00
0bbb648925 Added functions around CubicSurfaceExtractor. 2014-03-07 16:08:20 +01:00
d50b910a45 Merge branch 'develop' into feature/cubiquity-version
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.inl
2014-03-06 16:54:38 +01:00
163e520e9f Changed he way that materials are blended by default, such that the material of the voxel with the highest density is used. 2014-03-06 16:38:57 +01:00
d8bcd09d9b Compile fixes for GCC. 2014-03-05 16:47:51 +01:00
acbfb184b8 Wrapped MarchingCubesSurfaceExtractor with functions (part of unclassing). 2014-03-05 16:30:54 +01:00
0755961750 Added support for default parameters. 2014-03-05 15:50:17 +01:00
67ec0d2db8 Initial function wrapper around CubicSurfaceExtractorWithNormals. 2014-03-05 15:41:16 +01:00
b416dc933f Merge branch 'develop' into feature/cubiquity-version
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/MarchingCubesSurfaceExtractor.inl
2014-02-27 15:40:01 +01:00
1cf5f4c899 Added comment. 2014-02-26 17:00:40 +01:00