public void Close() { _sc.RemoveRenderTarget(_view); _sc.Stop(); _sc.Dispose(); _panel.Controls.Clear(); _view.Dispose(); _graphicsDevice.Dispose(); _scene = null; _sc = null; _view = null; _graphicsDevice = null; }
public void Open(Environment environment, string path) { var options = new GraphicsDeviceOptions() { HasMainSwapchain = false, ResourceBindingModel = ResourceBindingModel.Improved, SwapchainDepthFormat = PixelFormat.R32_Float, }; //_graphicsDevice = GraphicsDevice.CreateVulkan(options); _graphicsDevice = GraphicsDevice.CreateD3D11(options); _view = new VeldridControl(_graphicsDevice, options) { Dock = DockStyle.Fill, }; _panel.Controls.Add(_view); _panel.Controls.Add(_settingsPanel); _camera = new RotationCamera(_view.Width, _view.Height); _view.Camera = _camera; _sc = new SceneContext(_graphicsDevice); _sc.AddRenderTarget(_view); _scene = new Scene(); _mdl = MdlFile.FromFile(path); var(min, max) = GetBbox(_mdl, 0); _camera.SetBoundingBox(min, max); _renderable = new MdlRenderable(_mdl, Vector3.Zero); _scene.AddRenderable(_renderable); _sc.Scene = _scene; _sc.Start(); _settingsPanel.SetModel(_mdl); _settingsPanel.BodyPartModelSelected += BodyPartSelected; _settingsPanel.SequenceSelected += SequenceSelected; }
public void Open(Environment environment, string path) { var options = new GraphicsDeviceOptions() { HasMainSwapchain = false, ResourceBindingModel = ResourceBindingModel.Improved, SwapchainDepthFormat = PixelFormat.R32_Float, }; //_graphicsDevice = GraphicsDevice.CreateVulkan(options); _graphicsDevice = GraphicsDevice.CreateD3D11(options); _view = new VeldridControl(_graphicsDevice, options) { Dock = DockStyle.Fill }; _panel.Controls.Add(_view); _sc = new SceneContext(_graphicsDevice); _sc.AddRenderTarget(_view); _scene = new Scene(); BspFile bsp; using (var stream = File.OpenRead(path)) { bsp = new BspFile(stream); } _scene.AddRenderableSource(new BspRenderable(bsp, environment)); LoadModels(bsp, environment); _sc.Scene = _scene; _sc.Start(); }