private void MainWnd_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Escape: WorkFlowUtil.FinalizeApplication(); Application.Exit(); break; case Keys.F: DebugLogger.Text = DirectX12_Test.MainWnd().ToString(); break; case Keys.I: if (commonInfo.isInitialized) { DebugLogger.Text = "Scene已经初始化过了!"; } else { WorkFlowUtil.InitializeScene(ref commonInfo); commonInfo.isInitialized = true; DebugLogger.Text = "Scene初始化成功!"; } break; case Keys.T: DebugLogger.Text = CudaUtil.test().ToString(); break; } }
private void MainWnd_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (commonInfo.isInitialized) { commonInfo.currentMouseX = e.X; commonInfo.currentMouseY = e.Y; commonInfo.accumulatedX += commonInfo.currentMouseX - commonInfo.lastMouseX; commonInfo.accumulatedY += commonInfo.currentMouseY - commonInfo.lastMouseY; commonInfo.lastMouseX = commonInfo.currentMouseX; commonInfo.lastMouseY = commonInfo.currentMouseY; //DebugLogger.Text = "X坐标: " + commonInfo.accumulatedX.ToString() + "Y坐标: " + commonInfo.accumulatedY.ToString(); commonInfo.scene.camera.Update(ref commonInfo); CudaUtil.SendCamera(commonInfo.scene.camera); WorkFlowUtil.Update(ref commonInfo); switch (commonInfo.swampIdx) { case false: BackgroundImage = commonInfo.frameBuffer1; break; case true: BackgroundImage = commonInfo.frameBuffer0; break; } WorkFlowUtil.RenderScene(ref commonInfo); DebugLogger.Text = commonInfo.DebugInfo; } else { DebugLogger.Text = "Scene还未初始化!还不能进行渲染,请按下I键进行初始化!"; } } }