public void SetCameraMode(EditorCameraMode md) { m_mode = md; switch (md) { case EditorCameraMode.Perspective: m_cameraCtrl = new NPerspectiveCameraController(); break; case EditorCameraMode.Top: { NOrthoCameraController cameraCtrl = new NOrthoCameraController(); cameraCtrl.SetOrientation('Y'); m_cameraCtrl = cameraCtrl; } break; case EditorCameraMode.Front: { NOrthoCameraController cameraCtrl = new NOrthoCameraController(); cameraCtrl.SetOrientation('Z'); m_cameraCtrl = cameraCtrl; } break; case EditorCameraMode.Side: { NOrthoCameraController cameraCtrl = new NOrthoCameraController(); cameraCtrl.SetOrientation('X'); m_cameraCtrl = cameraCtrl; } break; } }
public NEViewport() { m_view = new NViewport(); int w = NEditorEngine.Instance().Config.ClientWidth; int h = NEditorEngine.Instance().Config.ClientHeight; m_minCameraSight = 500; m_maxCameraSight = 300000; m_Sight = 0.25f; m_cameraSight = m_minCameraSight * (1 - m_Sight * m_Sight) + m_maxCameraSight * (m_Sight * m_Sight); m_view.Camera.SetPerspective(MathConst.PI / 4, w, h, 1.0f, m_cameraSight); m_cameraCtrl = new NPerspectiveCameraController(); InitializeComponent(); this.Dock = DockStyle.Fill; this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true); m_view.HandleWnd = this.Handle; m_view.RenderMode = ERenderMode.Unlit; this.NEViewPort_SizeChanged(this, null); // set view pos/size NEWidgetsRender widgets = CreateWidgetsRender(); m_view.WidgetsRender = widgets; widgets.AddViewport(this); //-- context menu m_menu = new ContextMenuStrip(); ToolStripMenuItem viewMenu = new ToolStripMenuItem("Render mode"); foreach (ERenderMode rm in Enum.GetValues(typeof(ERenderMode))) { ToolStripItem item = viewMenu.DropDownItems.Add(rm.ToString()); item.Click += new EventHandler(this.OnMenuClickRenderMode); } m_menu.Items.Add(viewMenu); ToolStripItem cameraItem = m_menu.Items.Add("Reset camera"); //-- m_mainTimer = new NGameTimer(); m_mainTimer.Reset(); }
/// <summary> /// 绑定Camera Controller对象 /// </summary> public void SetCameraCtrl(NEditorCameraController cameraCtrl) { this.propertyGrid.SelectedObject = cameraCtrl; }