[Bf-blender-cvs] [b0a723b] alembic: Explicit CD type masks for each element.
Lukas Tönne
noreply at git.blender.org
Thu Mar 26 13:55:29 CET 2015
Commit: b0a723bc6c03a3a3c11b81f6a5a83a8ffa1a15dc
Author: Lukas Tönne
Date: Wed Mar 25 10:32:57 2015 +0100
Branches: alembic
https://developer.blender.org/rBb0a723bc6c03a3a3c11b81f6a5a83a8ffa1a15dc
Explicit CD type masks for each element.
Avoid storing redundant normals for vertices.
===================================================================
M source/blender/pointcache/alembic/abc_mesh.cpp
===================================================================
diff --git a/source/blender/pointcache/alembic/abc_mesh.cpp b/source/blender/pointcache/alembic/abc_mesh.cpp
index dd37939..c502b07 100644
--- a/source/blender/pointcache/alembic/abc_mesh.cpp
+++ b/source/blender/pointcache/alembic/abc_mesh.cpp
@@ -43,7 +43,12 @@ using namespace Abc;
using namespace AbcGeom;
/* CD layers that are stored in generic customdata arrays created with CD_ALLOC */
-static CustomDataMask CD_MASK_CACHE = ~(CD_MASK_MVERT | CD_MASK_MEDGE | CD_MASK_MFACE | CD_MASK_MPOLY | CD_MASK_MLOOP | CD_MASK_BMESH | CD_MASK_MTFACE);
+static CustomDataMask CD_MASK_CACHE_EXCLUDE = (CD_MASK_MVERT | CD_MASK_MEDGE | CD_MASK_MFACE | CD_MASK_MPOLY | CD_MASK_MLOOP | CD_MASK_BMESH | CD_MASK_MTFACE);
+static CustomDataMask CD_MASK_CACHE_VERT = ~(CD_MASK_CACHE_EXCLUDE | CD_MASK_NORMAL);
+static CustomDataMask CD_MASK_CACHE_EDGE = ~(CD_MASK_CACHE_EXCLUDE);
+static CustomDataMask CD_MASK_CACHE_FACE = ~(CD_MASK_CACHE_EXCLUDE);
+static CustomDataMask CD_MASK_CACHE_POLY = ~(CD_MASK_CACHE_EXCLUDE);
+static CustomDataMask CD_MASK_CACHE_LOOP = ~(CD_MASK_CACHE_EXCLUDE);
struct MVertSample {
std::vector<V3f> co;
@@ -74,11 +79,11 @@ struct MLoopSample {
AbcDerivedMeshWriter::AbcDerivedMeshWriter(const std::string &name, Object *ob, DerivedMesh **dm_ptr) :
DerivedMeshWriter(ob, dm_ptr, name),
- m_vert_data_writer("vertex_data", CD_MASK_CACHE),
- m_edge_data_writer("edge_data", CD_MASK_CACHE),
- m_face_data_writer("face_data", CD_MASK_CACHE),
- m_poly_data_writer("poly_data", CD_MASK_CACHE),
- m_loop_data_writer("loop_data", CD_MASK_CACHE)
+ m_vert_data_writer("vertex_data", CD_MASK_CACHE_VERT),
+ m_edge_data_writer("edge_data", CD_MASK_CACHE_EDGE),
+ m_face_data_writer("face_data", CD_MASK_CACHE_FACE),
+ m_poly_data_writer("poly_data", CD_MASK_CACHE_POLY),
+ m_loop_data_writer("loop_data", CD_MASK_CACHE_LOOP)
{
}
@@ -311,11 +316,11 @@ void AbcDerivedMeshWriter::write_sample()
AbcDerivedMeshReader::AbcDerivedMeshReader(const std::string &name, Object *ob) :
DerivedMeshReader(ob, name),
- m_vert_data_reader("vertex_data", CD_MASK_CACHE),
- m_edge_data_reader("edge_data", CD_MASK_CACHE),
- m_face_data_reader("face_data", CD_MASK_CACHE),
- m_poly_data_reader("poly_data", CD_MASK_CACHE),
- m_loop_data_reader("loop_data", CD_MASK_CACHE)
+ m_vert_data_reader("vertex_data", CD_MASK_CACHE_VERT),
+ m_edge_data_reader("edge_data", CD_MASK_CACHE_EDGE),
+ m_face_data_reader("face_data", CD_MASK_CACHE_FACE),
+ m_poly_data_reader("poly_data", CD_MASK_CACHE_POLY),
+ m_loop_data_reader("loop_data", CD_MASK_CACHE_LOOP)
{
}
More information about the Bf-blender-cvs
mailing list