Jelajahi Sumber

FIX: (aiMesh::mNumTextureCoords[n] == 0) is now propagated to 2.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@266 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
aramis_acg 17 tahun lalu
induk
melakukan
1ded2f6a34
2 mengubah file dengan 7 tambahan dan 1 penghapusan
  1. 7 0
      code/ScenePreprocessor.cpp
  2. 0 1
      include/aiMesh.h

+ 7 - 0
code/ScenePreprocessor.cpp

@@ -66,6 +66,13 @@ void ScenePreprocessor::ProcessScene (aiScene* _scene)
 // ---------------------------------------------------------------------------
 void ScenePreprocessor::ProcessMesh (aiMesh* mesh)
 {
+	// If aiMesh::mNumUVComponents is *not* set assign the default value of 2
+	for (unsigned int i = 0; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; ++i)
+	{
+		if (!mesh->mNumUVComponents[i])
+			mesh->mNumUVComponents[i] = 2;
+	}
+
 	// If the information which primitive types are there in the
 	// mesh is currently not available, compute it.
 	if (!mesh->mPrimitiveTypes)

+ 0 - 1
include/aiMesh.h

@@ -388,7 +388,6 @@ struct aiMesh
 	* or cube maps). If the value is 2 for a given channel n, the
 	* component p.z of mTextureCoords[n][p] is set to 0.0f.
 	* If the value is 1 for a given channel, p.y is set to 0.0f, too.
-	* If this value is 0, 2 should be assumed.
 	* @note 4D coords are not supported 
 	*/
 	unsigned int mNumUVComponents[AI_MAX_NUMBER_OF_TEXTURECOORDS];