/// <summary> /// Create the GameWindow, and use a specific OpenGL version /// </summary> /// <param name="param">GameWindow creation parameters</param> public void CreateGameWindow(GameWindowParams param) { Trace.WriteDebugLine("[GameBase] CreateGameWindow()"); // Close the previous game window first if (Window != null) { Trace.WriteDebugLine("[GameBase] CreateGameWindow() : Closing previous window"); CloseGameWindow(); } Window = new GameWindow(param); // Events Window.Activated += new EventHandler(Window_Activated); Window.Deactivate += new EventHandler(Window_Deactivate); Window.Resize += new EventHandler(Window_Resize); Window.FormClosing += new FormClosingEventHandler(Window_FormClosing); Mouse.Init(Window); Gamepad.Init(Window); Window.Show(); Window.Activate(); }
/// <summary> /// Constructor /// </summary> public GameWindow(GameWindowParams param) { Trace.WriteDebugLine("[GameWindow] Constructor()"); if (param == null) { Trace.WriteDebugLine("[GameWindow] param == null !"); throw new ArgumentNullException("param"); } InitializeComponent(); TK.GraphicsContextFlags compatible = param.Compatible ? TK.GraphicsContextFlags.Default : TK.GraphicsContextFlags.ForwardCompatible; // Adds the control to the form Trace.WriteDebugLine("[GameWindow] Requesting a {0}.{1} {2}Opengl context (Color: {3}, Depth: {4}, Stencil:{5}, Sample: {6})", param.Major, param.Minor, param.Compatible ? "compatible " : string.Empty, param.Color, param.Depth, param.Stencil, param.Samples); RenderControl = new OpenTK.GLControl(new TK.GraphicsMode(param.Color, param.Depth, param.Stencil, param.Samples), param.Major, param.Minor, compatible); Trace.WriteDebugLine("[GameWindow] Got GraphicsMode {0}", RenderControl.GraphicsMode); RenderControl.Dock = DockStyle.Fill; Controls.Add(RenderControl); // Resize the window ClientSize = param.Size; VSync = true; if (param.FullScreen) { SetFullScreen(param.Size, param.Color); } }
/// <summary> /// Create the GameWindow, with the highest compatible OpenGL version /// </summary> /// <param name="size">Size of the window</param> public void CreateGameWindow(Size size) { GameWindowParams p = new GameWindowParams(); p.Size = size; CreateGameWindow(p); }
/// <summary> /// Constructor /// </summary> public Program() { ParticleCount = 2000; // Open the window GameWindowParams param = new GameWindowParams(); param.Size = new Size(1024, 768); param.Major = 3; param.Minor = 0; CreateGameWindow(param); Window.Text = "Fountain"; // Create particles Particles = new Particle[ParticleCount * 2]; for (int i = 0; i < Particles.Length; i++) { Particles[i] = new Particle(); } // Colors for the particles Colors = new Color[] { Color.Red, Color.Blue, Color.Green, Color.Yellow }; Watch = new Stopwatch(); }
/// <summary> /// Constructor /// </summary> public Program() { GameWindowParams p = new GameWindowParams(); p.Size = new Size(1024, 768); p.Major = 3; p.Minor = 0; CreateGameWindow(p); }
/// <summary> /// Constructor /// </summary> public Program() { GameWindowParams p = new GameWindowParams(); p.Size = new Size(1024, 768); p.Major = 4; p.Minor = 1; CreateGameWindow(p); Window.Text = "Tunnel effect - Thanks to http://www.rozengain.com/blog/"; }
/// <summary> /// Constructor /// </summary> public Program() { GameWindowParams param = new GameWindowParams(); param.Size = new Size(1024, 768); param.Major = 3; param.Minor = 0; CreateGameWindow(param); Window.Text = "Cell Shading example from http://prideout.net/blog/?p=22"; }
/// <summary> /// Constructor /// </summary> public Example() { GameWindowParams p = new GameWindowParams(); p.Size = new Size(1024, 768); p.Major = 3; p.Minor = 3; p.Compatible = true; CreateGameWindow(p); Window.Text = "Outlining demo"; }
/// <summary> /// Constructor /// </summary> public Program() { GameWindowParams p = new GameWindowParams(); p.Size = new Size(1024, 768); p.Major = 4; p.Minor = 1; CreateGameWindow(p); Window.Text = "Blob Monster - Thanks to http://www.charliesgames.com/wordpress/?p=441"; Cursor.Hide(); Monster = new Monster(new Vector2(200.0f, 100.0f), 1.0f, 30); }
/// <summary> /// Constructor /// </summary> public Program() { // Create the game window GameWindowParams param = new GameWindowParams(); param.Size = new Size(1024, 768); param.Major = 3; param.Minor = 0; CreateGameWindow(param); // Change the window title Window.Text = "Per pixel perfect collision test"; }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// </summary> public override void LoadContent() { // Main storage bank Storage = new BankStorage("data/Game.bnk"); ResourceManager.AddStorage(Storage); ResourceManager.RootDirectory = "data"; GameWindowParams param = new GameWindowParams(); param.Major = 2; param.Minor = 1; param.Compatible = false; param.Size = new Size(640, 400); param.FullScreen = Settings.GetBool("FullScreen"); CreateGameWindow(param); using (Stream icon = Storage.OpenFile("GameIcon.ico", FileAccess.Read)) Window.Icon = new Icon(icon); Window.Text = "Dungeon Eye - http://www.dungeoneye.net"; // Remove Multi sampling Display.RenderState.MultiSample = false; // Default texture parameters Texture2D.DefaultBorderColor = Color.Black; Texture2D.DefaultMagFilter = TextureMagFilter.Nearest; Texture2D.DefaultMinFilter = TextureMinFilter.Nearest; // Change the cursor Mouse.LoadTileSet(ResourceManager.CreateAsset <TileSet>("Cursor")); Mouse.SetTile(0); GSM.AddScreen(new MainMenu()); //GSM.AddScreen(new GameScreen()); //GSM.AddScreen(new IntroScreen()); //GSM.AddScreen(new CharGen()); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// </summary> public override void LoadContent() { // Main storage bank Storage = new BankStorage("data/Game.bnk"); ResourceManager.AddStorage(Storage); ResourceManager.RootDirectory = "data"; GameWindowParams param = new GameWindowParams(); param.Major = 2; param.Minor = 1; param.Compatible = false; param.Size = new Size(640,400); param.FullScreen = Settings.GetBool("FullScreen"); CreateGameWindow(param); using (Stream icon = Storage.OpenFile("GameIcon.ico", FileAccess.Read)) Window.Icon = new Icon(icon); Window.Text = "Dungeon Eye - http://www.dungeoneye.net"; // Remove Multi sampling Display.RenderState.MultiSample = false; // Default texture parameters Texture2D.DefaultBorderColor = Color.Black; Texture2D.DefaultMagFilter = TextureMagFilter.Nearest; Texture2D.DefaultMinFilter = TextureMinFilter.Nearest; // Change the cursor Mouse.LoadTileSet(ResourceManager.CreateAsset<TileSet>("Cursor")); Mouse.SetTile(0); GSM.AddScreen(new MainMenu()); //GSM.AddScreen(new GameScreen()); //GSM.AddScreen(new IntroScreen()); //GSM.AddScreen(new CharGen()); }