From dbbc931df1aa6afe47cb15e6669b89dec968c4b8 Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 25 Sep 2013 09:04:13 +0200 Subject: [PATCH] Fixed MTL keyword "tr" Former-commit-id: e5e4ff0a9f7adcc7ba01f9e1586794a9357f3218 --- src/Nazara/Graphics/Loaders/OBJ/MTLParser.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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;