Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }