public void Shutdown() { WorldSettings.Shutdown(); WorldSettings = null; Camera = null; foreach (IRenderer RenderAsset in Assets.Values) { RenderAsset.Shutdown(); } foreach (SpatialGrid grid in navigationGrids) { grid?.Shutdown(); } navigationGrids = null; translokatorGrid?.Shutdown(); translokatorGrid = null; selectionBox.Shutdown(); selectionBox = null; TranslationGizmo.Shutdown(); TranslationGizmo = null; clouds.Shutdown(); clouds = null; sky.Shutdown(); sky = null; Assets = null; D3D?.Shutdown(); D3D = null; }
public bool PreInit(IntPtr WindowHandle) { D3D = new DirectX11Class(); if (!D3D.Init(WindowHandle)) { MessageBox.Show("Failed to initialize DirectX11!"); } Profile.Init(); if (!RenderStorageSingleton.Instance.IsInitialised()) { bool result = RenderStorageSingleton.Instance.Initialise(D3D); var structure = new M2TStructure(); //import gizmo RenderModel gizmo = new RenderModel(); structure.ReadFromM2T("Resources/GizmoModel.m2t"); gizmo.ConvertMTKToRenderModel(structure); gizmo.InitBuffers(D3D.Device, D3D.DeviceContext); gizmo.DoRender = true; TranslationGizmo = new GizmoTool(gizmo); sky = new RenderModel(); structure = new M2TStructure(); structure.ReadFromM2T("Resources/sky_backdrop.m2t"); sky.ConvertMTKToRenderModel(structure); sky.InitBuffers(D3D.Device, D3D.DeviceContext); clouds = new RenderModel(); structure = new M2TStructure(); structure.ReadFromM2T("Resources/weather_clouds.m2t"); clouds.ConvertMTKToRenderModel(structure); clouds.InitBuffers(D3D.Device, D3D.DeviceContext); clouds.DoRender = false; } selectionBox.SetColour(System.Drawing.Color.Red); selectionBox.Init(new BoundingBox(new Vector3(0.5f), new Vector3(-0.5f))); selectionBox.DoRender = false; return(true); }