Panagiotis Christopoulos Charitos 12 سال پیش
والد
کامیت
7739108681
1فایلهای تغییر یافته به همراه9 افزوده شده و 10 حذف شده
  1. 9 10
      src/scene/SceneGraph.cpp

+ 9 - 10
src/scene/SceneGraph.cpp

@@ -257,21 +257,20 @@ void SceneGraph::load(const char* filename)
 
 			// <transform>
 			el = mdlNodeEl.getChildElement("transform");
-			StringList list = StringList::splitString(el.getText(), ' ');
+			node->setLocalTransform(Transform(el.getMat4()));
 
-			if(list.size() != 16)
+			U i = instancesCount - 1;
+			if(i > 0)
 			{
-				throw ANKI_EXCEPTION("Expecting 16 floats for <transform>");
-			}
+				do
+				{
 
-			Mat4 trf;
-			for(U i = 0; i < 16; i++)
-			{
-				trf[i] = std::stof(list[i]);
+					// Advance
+					el = mdlNodeEl.getNextSiblingElement("transform");
+				}
+				while(el && instancesCount > 0);
 			}
 
-			node->setLocalTransform(Transform(trf));
-
 			// Advance
 			mdlNodeEl = mdlNodeEl.getNextSiblingElement("modelNode");
 		} while(mdlNodeEl);