|
@@ -806,8 +806,9 @@ void SceneCombiner::MergeMeshes(aiMesh** _out, unsigned int /*flags*/,
|
|
|
for (std::vector<aiMesh*>::const_iterator it = begin; it != end;++it) {
|
|
|
if ((*it)->mNormals) {
|
|
|
::memcpy(pv2,(*it)->mNormals,(*it)->mNumVertices*sizeof(aiVector3D));
|
|
|
+ } else {
|
|
|
+ DefaultLogger::get()->warn( "JoinMeshes: Normals expected but input mesh contains no normals" );
|
|
|
}
|
|
|
- else DefaultLogger::get()->warn("JoinMeshes: Normals expected but input mesh contains no normals");
|
|
|
pv2 += (*it)->mNumVertices;
|
|
|
}
|
|
|
}
|
|
@@ -817,28 +818,29 @@ void SceneCombiner::MergeMeshes(aiMesh** _out, unsigned int /*flags*/,
|
|
|
pv2 = out->mTangents = new aiVector3D[out->mNumVertices];
|
|
|
aiVector3D* pv2b = out->mBitangents = new aiVector3D[out->mNumVertices];
|
|
|
|
|
|
- for (std::vector<aiMesh*>::const_iterator it = begin; it != end;++it) {
|
|
|
+ for (std::vector<aiMesh*>::const_iterator it = begin; it != end;++it) {
|
|
|
if ((*it)->mTangents) {
|
|
|
::memcpy(pv2, (*it)->mTangents, (*it)->mNumVertices*sizeof(aiVector3D));
|
|
|
::memcpy(pv2b,(*it)->mBitangents,(*it)->mNumVertices*sizeof(aiVector3D));
|
|
|
+ } else {
|
|
|
+ DefaultLogger::get()->warn( "JoinMeshes: Tangents expected but input mesh contains no tangents" );
|
|
|
}
|
|
|
- else DefaultLogger::get()->warn("JoinMeshes: Tangents expected but input mesh contains no tangents");
|
|
|
pv2 += (*it)->mNumVertices;
|
|
|
pv2b += (*it)->mNumVertices;
|
|
|
}
|
|
|
}
|
|
|
// copy texture coordinates
|
|
|
unsigned int n = 0;
|
|
|
- while ((**begin).HasTextureCoords(n)) {
|
|
|
+ while ((**begin).HasTextureCoords(n)) {
|
|
|
out->mNumUVComponents[n] = (*begin)->mNumUVComponents[n];
|
|
|
|
|
|
pv2 = out->mTextureCoords[n] = new aiVector3D[out->mNumVertices];
|
|
|
for (std::vector<aiMesh*>::const_iterator it = begin; it != end;++it) {
|
|
|
-
|
|
|
if ((*it)->mTextureCoords[n]) {
|
|
|
::memcpy(pv2,(*it)->mTextureCoords[n],(*it)->mNumVertices*sizeof(aiVector3D));
|
|
|
+ } else {
|
|
|
+ DefaultLogger::get()->warn( "JoinMeshes: UVs expected but input mesh contains no UVs" );
|
|
|
}
|
|
|
- else DefaultLogger::get()->warn("JoinMeshes: UVs expected but input mesh contains no UVs");
|
|
|
pv2 += (*it)->mNumVertices;
|
|
|
}
|
|
|
++n;
|
|
@@ -848,11 +850,11 @@ void SceneCombiner::MergeMeshes(aiMesh** _out, unsigned int /*flags*/,
|
|
|
while ((**begin).HasVertexColors(n)) {
|
|
|
aiColor4D* pv2 = out->mColors[n] = new aiColor4D[out->mNumVertices];
|
|
|
for (std::vector<aiMesh*>::const_iterator it = begin; it != end;++it) {
|
|
|
-
|
|
|
if ((*it)->mColors[n]) {
|
|
|
::memcpy(pv2,(*it)->mColors[n],(*it)->mNumVertices*sizeof(aiColor4D));
|
|
|
+ } else {
|
|
|
+ DefaultLogger::get()->warn( "JoinMeshes: VCs expected but input mesh contains no VCs" );
|
|
|
}
|
|
|
- else DefaultLogger::get()->warn("JoinMeshes: VCs expected but input mesh contains no VCs");
|
|
|
pv2 += (*it)->mNumVertices;
|
|
|
}
|
|
|
++n;
|