private void RenderThreadStart(object param) { // TODO: OP! Initialize render log file ProfilerShort.Autocommit = false; var startParams = (StartParams)param; m_renderWindow = startParams.InitHandler(); var control = System.Windows.Forms.Control.FromHandle(m_renderWindow.Handle); m_settings = MyRenderProxy.CreateDevice(this, m_renderWindow.Handle, startParams.SettingsToTry); MyRenderProxy.SendCreatedDeviceSettings(m_settings); m_currentQuality = startParams.RenderQuality; m_form = control; LoadContent(); UpdateSize(); //RenderLoop.UseCustomDoEvents = true; RenderLoop.Run(m_form, RenderCallback); UnloadContent(); MyRenderProxy.DisposeDevice(); }
public static MyRenderThread StartSync(MyGameTimer timer, IMyRenderWindow renderWindow, MyRenderDeviceSettings?settingsToTry, MyRenderQualityEnum renderQuality) { var result = new MyRenderThread(timer, false); result.m_renderWindow = renderWindow; result.m_settings = MyRenderProxy.CreateDevice(result, renderWindow.Handle, settingsToTry); MyRenderProxy.SendCreatedDeviceSettings(result.m_settings); result.m_currentQuality = renderQuality; result.m_form = Control.FromHandle(renderWindow.Handle); result.LoadContent(); result.UpdateSize(); return(result); }
private void RenderThreadStart(object param) { // TODO: OP! Initialize render log file ProfilerShort.Autocommit = false; var startParams = (StartParams)param; m_renderWindow = startParams.InitHandler(); #if !XB1 var control = System.Windows.Forms.Control.FromHandle(m_renderWindow.Handle); #endif m_settings = MyRenderProxy.CreateDevice(this, m_renderWindow.Handle, startParams.SettingsToTry); if (m_settings.AdapterOrdinal == -1) { return; } MyRenderProxy.SendCreatedDeviceSettings(m_settings); m_currentQuality = startParams.RenderQuality; #if !XB1 m_form = control; #else m_form = m_renderWindow as RenderForm; #endif LoadContent(); UpdateSize(); //RenderLoop.UseCustomDoEvents = true; //RenderLoop.Run(m_form, RenderCallback); m_form.Show(); while (m_form.Visible) { Application.DoEvents(); if (m_form.Visible) { RenderCallback(); } } UnloadContent(); MyRenderProxy.DisposeDevice(); }
public void StartSync(MyGameTimer timer, IMyRenderWindow window, MyRenderDeviceSettings?settings, MyRenderQualityEnum renderQuality, float maxFrameRate) { RenderThread = MyRenderThread.StartSync(timer, window, settings, renderQuality, maxFrameRate); }
public static MyRenderThread StartSync(MyGameTimer timer, IMyRenderWindow renderWindow, MyRenderDeviceSettings? settingsToTry, MyRenderQualityEnum renderQuality) { var result = new MyRenderThread(timer, false); result.m_renderWindow = renderWindow; result.m_settings = MyRenderProxy.CreateDevice(result, renderWindow.Handle, settingsToTry); MyRenderProxy.SendCreatedDeviceSettings(result.m_settings); result.m_currentQuality = renderQuality; result.m_form = System.Windows.Forms.Control.FromHandle(renderWindow.Handle); result.LoadContent(); result.UpdateSize(); return result; }
public void StartSync(MyGameTimer timer, IMyRenderWindow window, MyRenderDeviceSettings? settings, MyRenderQualityEnum renderQuality, float maxFrameRate) { RenderThread = MyRenderThread.StartSync(timer, window, settings, renderQuality, maxFrameRate); }