ソースを参照

Fixed a minor problem with the vertex format hash in the PretransformVertices step. Remember, the step seems still to swizzle materials in some cases.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@188 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
aramis_acg 17 年 前
コミット
a34378934d
1 ファイル変更6 行追加3 行削除
  1. 6 3
      code/PretransformVertices.cpp

+ 6 - 3
code/PretransformVertices.cpp

@@ -95,13 +95,16 @@ unsigned int GetMeshVFormat(aiMesh* pcMesh)
 	if (pcMesh->mBones)
 		return (unsigned int)pcMesh->mBones;
 
-	unsigned int iRet = 0;
 	ai_assert(NULL != pcMesh->mVertices);
 
+	// FIX: the hash may never be 0. Otherwise a comparison against
+	// nullptr could be successful
+	unsigned int iRet = 1;
+
 	// normals
-	if (pcMesh->HasNormals())iRet |= 0x1;
+	if (pcMesh->HasNormals())iRet |= 0x2;
 	// tangents and bitangents
-	if (pcMesh->HasTangentsAndBitangents())iRet |= 0x2;
+	if (pcMesh->HasTangentsAndBitangents())iRet |= 0x4;
 
 	// texture coordinates
 	unsigned int p = 0;