public void LoadModel(string filename) { ready = false; GL.ActiveTexture(TextureUnit.Texture0); this.filename = filename; try { if (filename.EndsWith(".m2")) { if (!cache.doodadBatches.ContainsKey(filename)) { M2Loader.LoadM2(filename, cache, m2ShaderProgram); } if (!cache.doodadBatches.ContainsKey(filename)) { return; } ActiveCamera.Pos = new Vector3((cache.doodadBatches[filename].boundingBox.max.Z) + 11.0f, 0.0f, 4.0f); modelType = "m2"; ready = true; } else if (filename.EndsWith(".wmo")) { if (!cache.worldModels.ContainsKey(filename)) { WMOLoader.LoadWMO(filename, cache, wmoShaderProgram); } modelType = "wmo"; ready = true; } }catch (Exception e) { Logger.WriteLine("Error occured when loading model " + filename + ": " + e.StackTrace); } ActiveCamera.ResetCamera(); }
public void LoadModel(string fileName) { GL.ActiveTexture(TextureUnit.Texture0); try { if (fileName.EndsWith(".m2")) { var m2 = M2Loader.LoadM2(fileName, m2ShaderProgram); activeObject = new M2Container(m2, fileName); ActiveCamera.Pos = new Vector3((m2.boundingBox.max.Z) + 11.0f, 0.0f, 4.0f); } else if (fileName.EndsWith(".wmo")) { activeObject = new WMOContainer(WMOLoader.LoadWMO(fileName, wmoShaderProgram), fileName); } } catch (Exception e) { Logger.WriteLine("Error occured when loading model " + fileName + ": " + e.StackTrace); } ActiveCamera.ResetCamera(); }