BUGFIX: Correct handling of not stored texture coordinates

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@125 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
kimmi
2008-09-09 22:32:04 +00:00
parent af18307f95
commit d4d9d016d1
2 changed files with 18 additions and 15 deletions

View File

@@ -367,14 +367,17 @@ void ObjFileImporter::createVertexArray(const ObjFile::Model* pModel,
// Copy all texture coordinates
if ( !pModel->m_TextureCoord.empty() )
{
const unsigned int tex = pSourceFace->m_pTexturCoords->at( vertexIndex );
ai_assert( tex < pModel->m_TextureCoord.size() );
for ( size_t i=0; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; i++)
if ( !pSourceFace->m_pTexturCoords->empty() )
{
if ( pMesh->mNumUVComponents[ i ] > 0 )
const unsigned int tex = pSourceFace->m_pTexturCoords->at( vertexIndex );
ai_assert( tex < pModel->m_TextureCoord.size() );
for ( size_t i=0; i < AI_MAX_NUMBER_OF_TEXTURECOORDS; i++)
{
aiVector2D coord2d = *pModel->m_TextureCoord[ tex ];
pMesh->mTextureCoords[ i ][ newIndex ] = aiVector3D( coord2d.x, coord2d.y, 0.0 );
if ( pMesh->mNumUVComponents[ i ] > 0 )
{
aiVector2D coord2d = *pModel->m_TextureCoord[ tex ];
pMesh->mTextureCoords[ i ][ newIndex ] = aiVector3D( coord2d.x, coord2d.y, 0.0 );
}
}
}
}