private void PreloadModel(string model) { var hash = model.ToUpperInvariant().GetHashCode(); lock (mRenderer) { if (mRenderer.ContainsKey(hash)) { return; } var root = IO.Files.Models.ModelFactory.Instance.CreateWmo(); if (root.Load(model) == false) { Log.Warning("Unable to load WMO '" + model + "'. Further instances wont be loaded again"); } var renderer = new WmoRootRender(); renderer.OnAsyncLoad(root); var batch = new WmoBatchRender(renderer); lock (mAddLock) mRenderer.Add(hash, batch); } }
public void SetModel(string model, int variation = 0) { var root = ModelFactory.Instance.CreateWmo(); if (root.Load(model) == false) { return; } var file = new WmoRootRender(); file.OnAsyncLoad(root); mRender = new WmoBatchRender(file); mRender.AddInstance(1, Vector3.Zero, Vector3.Zero); mCamera.SetParameters(file.BoundingBox.Maximum, Vector3.Zero, Vector3.UnitZ, Vector3.UnitY); }