Exemplo n.º 1
0
 private void Awake()
 {
     zoom1 = 3.5f; zoom2 = 4.2f;
     mainCamera.orthographic = true;
     if (_instance == null)
     {
         _instance = this;
     }
 }
Exemplo n.º 2
0
        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;
        }