diff --git a/src/Nazara/Graphics/Loaders/OBJ/MTLParser.cpp b/src/Nazara/Graphics/Loaders/OBJ/MTLParser.cpp index 48ac75767..17a804f13 100644 --- a/src/Nazara/Graphics/Loaders/OBJ/MTLParser.cpp +++ b/src/Nazara/Graphics/Loaders/OBJ/MTLParser.cpp @@ -119,7 +119,7 @@ bool NzMTLParser::Parse() UnrecognizedLine(); #endif } - else if (keyword == 'd' || keyword == "tr") + else if (keyword == 'd') { float alpha; if (std::sscanf(&m_currentLine[(keyword[0] == 'd') ? 2 : 3], "%f", &alpha) == 1) @@ -134,6 +134,21 @@ bool NzMTLParser::Parse() UnrecognizedLine(); #endif } + else if (keyword == "tr") + { + float alpha; + if (std::sscanf(&m_currentLine[(keyword[0] == 'd') ? 2 : 3], "%f", &alpha) == 1) + { + if (!currentMaterial) + currentMaterial = &m_materials["default"]; + + currentMaterial->alpha = 1.f - alpha; // tr vaut pour la "valeur de transparence", 0 = opaque + } + #if NAZARA_UTILITY_STRICT_RESOURCE_PARSING + else + UnrecognizedLine(); + #endif + } else if (keyword == "illum") { unsigned int model;