Example #1
0
        public void End(bool view = true)
        {
            rstate.PopViewport();
            rstate.RenderTarget = null;
            if (mw.Config.MSAA != 0)
            {
                msaa.BlitToRenderTarget(RenderTarget);
            }
            rstate.ClearColor   = cc;
            rstate.DepthEnabled = false;
            rstate.BlendMode    = BlendMode.Normal;
            rstate.Cull         = false;
            //Viewport Control
            if (view)
            {
                ImGuiHelper.DisableAlpha();
                ImGui.Dummy(Vector2.One);
                ImGui.SameLine();
                ImGui.ImageButton((IntPtr)rid, new Vector2(rw, rh),
                                  new Vector2(0, 1), new Vector2(1, 0),
                                  0,
                                  Color4.Black, Color4.White);
                ImGuiHelper.EnableAlpha();
                if (Mode == CameraModes.Cockpit)
                {
                    ModelRotation = Vector2.Zero;
                }
                if (Mode == CameraModes.Arcball)
                {
                    ArcballUpdate();
                }
                if (ImGui.IsItemHovered(ImGuiHoveredFlags.None))
                {
                    switch (Mode)
                    {
                    case CameraModes.Walkthrough:
                        WalkthroughControls();
                        break;

                    case CameraModes.Starsphere:
                        StarsphereControls();
                        break;

                    case CameraModes.Arcball:
                        ArcballControls();
                        break;
                    }
                }
            }
        }