//--------------------------------------------------------------------------------------------------

        public void Init()
        {
            if (V3dView != null)
            {
                return;
            }

            V3dView = Workspace.V3dViewer.CreateView();

            AisAnimationCamera = new AIS_AnimationCamera(new TCollection_AsciiString("ViewCamera"), V3dView);

            V3dView.SetBgGradientColors(Quantity_NameOfColor.Quantity_NOC_SLATEGRAY3.ToColor(), Quantity_NameOfColor.Quantity_NOC_SLATEGRAY4.ToColor(), Aspect_GradientFillMethod.Aspect_GFM_VER, false);
            _ShowTriedron(true);

            var renderParams = V3dView.ChangeRenderingParams();

            renderParams.NbMsaaSamples         = 4;
            renderParams.IsAntialiasingEnabled = true;
            renderParams.TransparencyMethod    = Graphic3d_RenderTransparentMethod.Graphic3d_RTM_BLEND_OIT;
            renderParams.Method                     = Graphic3d_RenderingMode.Graphic3d_RM_RASTERIZATION;
            renderParams.RaytracingDepth            = 3;
            renderParams.IsShadowEnabled            = true;
            renderParams.IsReflectionEnabled        = true;
            renderParams.IsAntialiasingEnabled      = true;
            renderParams.IsTransparentShadowEnabled = true;

            // Reinit view parameters
            TargetPoint = _TargetPoint;
            EyePoint    = _EyePoint;
            Scale       = _Scale;
            Twist       = _Twist;
            UpdateRenderMode();
        }
        //--------------------------------------------------------------------------------------------------

        internal void UpdateRenderMode()
        {
            if (V3dView == null)
            {
                return;
            }

            V3dView.SetComputedMode(_RenderMode == RenderModes.HLR);

            var renderParams = V3dView.ChangeRenderingParams();

            if (_RenderMode == RenderModes.Raytraced)
            {
                renderParams.Method = Graphic3d_RenderingMode.Graphic3d_RM_RAYTRACING;
            }
            else
            {
                renderParams.Method = Graphic3d_RenderingMode.Graphic3d_RM_RASTERIZATION;
            }
        }