Fixed texture bug due simultaneously using 'usemtl' and 'usemap' attributes
authorVitaly Kovalev <vkovalev@gkmsoft.ru>
Tue, 27 Jun 2017 10:52:43 +0000 (13:52 +0300)
committerVitaly Kovalev <vkovalev@gkmsoft.ru>
Tue, 27 Jun 2017 10:52:43 +0000 (13:52 +0300)
Signed-off-by: Vitaly Kovalev <vkovalev@gkmsoft.ru>
code/ObjFileParser.cpp

index bd73a88..dfa77db 100644 (file)
@@ -179,7 +179,18 @@ void ObjFileParser::parseFile( IOStreamBuffer<char> &streamBuffer ) {
 
         case 'u': // Parse a material desc. setter
             {
-                getMaterialDesc();
+                std::string name;
+
+                getNameNoSpace(m_DataIt, m_DataItEnd, name);
+
+                size_t nextSpace = name.find(" ");
+                if (nextSpace != std::string::npos)
+                    name = name.substr(0, nextSpace);
+
+                if(name == "usemtl")
+                {
+                    getMaterialDesc();
+                }
             }
             break;