public static DemoModel Create(ISynchronizeInvoke syncObject) { var visualContext = new VisualContext(); var shaders = new Shaders(visualContext, () => new ShaderFile(visualContext, syncObject)); var textures = new Textures(visualContext); return new DemoModel(visualContext, shaders, textures, true); }
private MyApplication() { gameWindow.KeyDown += GameWindow_KeyDown; gameWindow.RenderFrame += game_RenderFrame; visualContext = new VisualContext(); var textures = new Textures(visualContext); var shaders = new Shaders(visualContext, NewShaderFile); demo = new DemoModel(visualContext, shaders, textures, false); demo.TimeSource.OnTimeFinished += () => gameWindow.Close(); var arguments = Environment.GetCommandLineArgs(); if (3 > arguments.Length) { MessageBox.Show("DemoRecorder <configfile> <saveDirectory> [<resX> <resY> <frameRate>]" + Environment.NewLine + " Please give the demo config file name as application parameter followed by the render buffer resolution."); gameWindow.Close(); } bufferWidth = gameWindow.Width; bufferHeight = gameWindow.Height; try { bufferWidth = int.Parse(arguments.ElementAt(3)); bufferHeight = int.Parse(arguments.ElementAt(4)); } catch { bufferWidth = gameWindow.Width; bufferHeight = gameWindow.Height; } try { frameRate = int.Parse(arguments.ElementAt(5)); } catch { frameRate = 25; } try { DemoLoader.LoadFromFile(demo, arguments.ElementAt(1)); saveDirectory = Directory.CreateDirectory(arguments.ElementAt(2)).FullName; saveDirectory += Path.DirectorySeparatorChar; saveDirectory += DateTime.Now.ToString("yyyyMMdd HHmmss"); saveDirectory += Path.DirectorySeparatorChar; Directory.CreateDirectory(saveDirectory); fileNumber = 0; } catch (Exception e) { MessageBox.Show("Error loading demo '" + arguments.ElementAt(1) + '"' + Environment.NewLine + e.Message); gameWindow.Close(); } }
private MyApplication() { gameWindow.Load += GameWindow_Load; gameWindow.KeyDown += GameWindow_KeyDown; gameWindow.RenderFrame += game_RenderFrame; visualContext = new VisualContext(); var textures = new Textures(visualContext); var shaders = new Shaders(visualContext, NewShaderFile); demo = new DemoModel(visualContext, shaders, textures, false); demo.TimeSource.OnTimeFinished += () => gameWindow.Close(); var arguments = Environment.GetCommandLineArgs(); if (1 == arguments.Length) { MessageBox.Show("DemoPlayer <configfile> [<resX> <resY>]" + Environment.NewLine + " Please give the demo config file name you wish to play as application parameter followed by the render buffer resolution."); gameWindow.Close(); } bufferWidth = gameWindow.Width; bufferHeight = gameWindow.Height; try { bufferWidth = int.Parse(arguments.ElementAt(2)); bufferHeight = int.Parse(arguments.ElementAt(3)); } catch { bufferWidth = gameWindow.Width; bufferHeight = gameWindow.Height; } try { DemoLoader.LoadFromFile(demo, arguments.ElementAt(1)); } catch (Exception e) { MessageBox.Show("Error loading demo '" + arguments.ElementAt(1) + '"' + Environment.NewLine + e.Message); gameWindow.Close(); } }