diff options
-rw-r--r-- | source/blender/alembic/intern/abc_customdata.cc | 10 | ||||
-rw-r--r-- | source/blender/alembic/intern/abc_points.cc | 8 |
2 files changed, 12 insertions, 6 deletions
diff --git a/source/blender/alembic/intern/abc_customdata.cc b/source/blender/alembic/intern/abc_customdata.cc index f2ae1c831d1..424475dc61b 100644 --- a/source/blender/alembic/intern/abc_customdata.cc +++ b/source/blender/alembic/intern/abc_customdata.cc @@ -185,7 +185,11 @@ static void write_mcol(const OCompoundProperty &prop, const CDStreamConfig &conf MLoop *mloops = config.mloop; MCol *cfaces = static_cast<MCol *>(data); - std::vector<Imath::C4f> buffer(config.totvert); + std::vector<Imath::C4f> buffer; + std::vector<uint32_t> indices; + + buffer.reserve(config.totvert); + indices.reserve(config.totvert); Imath::C4f col; @@ -203,7 +207,8 @@ static void write_mcol(const OCompoundProperty &prop, const CDStreamConfig &conf col[2] = cface->g * cscale; col[3] = cface->b * cscale; - buffer[mloop->v] = col; + buffer.push_back(col); + indices.push_back(buffer.size() - 1); } } @@ -211,6 +216,7 @@ static void write_mcol(const OCompoundProperty &prop, const CDStreamConfig &conf OC4fGeomParam::Sample sample( C4fArraySample(&buffer.front(), buffer.size()), + UInt32ArraySample(&indices.front(), indices.size()), kVertexScope); param.set(sample); diff --git a/source/blender/alembic/intern/abc_points.cc b/source/blender/alembic/intern/abc_points.cc index 9ff995ffcbf..c748139a0e6 100644 --- a/source/blender/alembic/intern/abc_points.cc +++ b/source/blender/alembic/intern/abc_points.cc @@ -61,10 +61,10 @@ using Alembic::AbcGeom::OPointsSchema; /* ************************************************************************** */ AbcPointsWriter::AbcPointsWriter(Object *ob, - AbcTransformWriter *parent, - uint32_t time_sampling, - ExportSettings &settings, - ParticleSystem *psys) + AbcTransformWriter *parent, + uint32_t time_sampling, + ExportSettings &settings, + ParticleSystem *psys) : AbcObjectWriter(ob, time_sampling, settings, parent) { m_psys = psys; |