Esempio n. 1
0
        private void DisposeDXViewportView()
        {
            if (_mainDXViewportView == null)
            {
                return;
            }

            if (_camera1 != null)
            {
                _camera1.StopRotation();
                RootGrid.Children.Remove(_camera1);

                _camera1 = null;
            }

            if (_mouseCameraController != null)
            {
                RootGrid.Children.Remove(_mouseCameraController);
                _mouseCameraController = null;
            }


            _mainDXViewportView.SceneRendered -= MainDxViewportViewOnSceneRendered;

            _mainDXViewportView.Dispose();
            _mainDXViewportView = null;
        }
        public void Dispose()
        {
            if (MainDXViewportView != null)
            {
                MainDXViewportView.Dispose();
                MainDXViewportView = null;
            }

            MainViewport    = null;
            WireframeVisual = null;
        }
Esempio n. 3
0
        private void Dispose()
        {
            if (_disposables != null)
            {
                _disposables.Dispose();
                _disposables = null;
            }

            if (_mainDXViewportView != null)
            {
                _mainDXViewportView.Dispose();
                _mainDXViewportView = null;
            }
        }
Esempio n. 4
0
        public RenderToBitmap()
        {
            InitializeComponent();

            SetupDXEngine();
            SetupContent();

            this.Unloaded += delegate(object sender, RoutedEventArgs args)
            {
                if (_dxViewportView != null)
                {
                    _dxViewportView.Dispose();
                    _dxViewportView = null;
                }
            };
        }
Esempio n. 5
0
        private void Dispose()
        {
            DisposeOculusRiftVirtualRealityProvider();

            if (_dxViewportView != null)
            {
                _dxViewportView.Dispose();
                _dxViewportView = null;
            }

            if (_dxDevice != null)
            {
                _dxDevice.Dispose();
                _dxDevice = null;
            }
        }
        // This must be called on the same thread as the objects were created on
        protected virtual void Dispose(bool disposing)
        {
            if (dxViewportView != null)
            {
                dxViewportView.Dispose();
                dxViewportView = null;
            }

            if (dxScene != null)
            {
                dxScene.Dispose();
                dxScene = null;
            }

            if (_dxDevice != null)
            {
                _dxDevice.Dispose();
                _dxDevice = null;
            }

            wpfViewport3D = null;
        }
Esempio n. 7
0
        public RenderToBitmap()
        {
            InitializeComponent();

            ConvertToNonPremultipliedAlphaInfoControl.InfoText =
                @"Ab3d.DXEngine and internally WPF are using pre-multiplied alpha textures. This means that color values (red, green, blue) are multiplied by alpha value. See internet for reasons why this is better.

When rendering bitmap that is will be shown in a WPF application, then it is recommended to preserve the pre-multiplied alpha.
When rendering bitmap that will be saved to png file and when there are transparent pixels in the texture, then it is better to convert the rendered image into non pre-multiplied bitmap because png files do not support pre-multiplied alpha.

To test the difference when saving to png, uncomment the code in the SetupContent method.";

            SetupDXEngine();
            SetupContent();

            this.Unloaded += delegate(object sender, RoutedEventArgs args)
            {
                if (_dxViewportView != null)
                {
                    _dxViewportView.Dispose();
                    _dxViewportView = null;
                }
            };
        }