bfa14a32df
Split 'decode()' function into several variants so it's not so heavily overloaded.
2014-07-24 16:55:11 +02:00
98e722271e
More restructuring code.
2014-07-24 15:40:03 +02:00
972bc3a456
Restructuring some code.
2014-07-24 15:13:08 +02:00
79c62be039
Oct-encoded normal now stored as uint again.
2014-07-23 23:50:04 +02:00
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
dd5e34bc92
Moved normal encoding logic.
2014-07-22 23:48:18 +02:00
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
7fc954a6bf
Fix SWIG include paths for C# bindings
2014-05-20 14:43:18 +01: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