// Methods public virtual bool Initialize(string title, int width, int height, bool vSync, bool fullScreen, int testTimeSeconds) { bool result = false; if (Configuration == null) { Configuration = new DSystemConfiguration(title, width, height, fullScreen, vSync); } // Initialize Window. InitializeWindows(title); // Create the application wrapper object. DApplication = new DApplication(); // Initialize the application wrapper object. if (!DApplication.Initialize(Configuration, RenderForm.Handle)) { return(false); } DPerfLogger.Initialize("RenderForm C# SharpDX: " + Configuration.Width + "x" + Configuration.Height + " VSync:" + DSystemConfiguration.VerticalSyncEnabled + " FullScreen:" + DSystemConfiguration.FullScreen + " " + RenderForm.Text, testTimeSeconds, Configuration.Width, Configuration.Height);; // Create and initialize Timer. Timer = new DTimer(); if (!Timer.Initialize()) { MessageBox.Show("Could not initialize Timer object", "Error", MessageBoxButtons.OK); return(false); } return(result); }
public bool Frame() { // Read the user input. if (!DApplication.Input.Frame() || DApplication.Input.IsEscapePressed()) { return(false); } // Update the system stats. Timer.Frame2(); if (DPerfLogger.IsTimedTest) { DPerfLogger.Frame(Timer.FrameTime); if (Timer.CumulativeFrameTime >= DPerfLogger.TestTimeInSeconds * 1000) { return(false); } } // Do the frame processing for the application object. if (!DApplication.Frame(Timer.FrameTime)) { return(false); } return(true); }
public void ShutDown() { ShutdownWindows(); DPerfLogger.ShutDown(); // Release the Timer object Timer = null; // Release the graphics object. DApplication?.Shutdown(); DApplication = null; Configuration = null; }