static void Main(string[] args) { OpenTK.GameWindow window = new OpenTK.GameWindow(1600, 900, new OpenTK.Graphics.GraphicsMode(32, 8, 0, 0)); Game game = new Game(window); window.Run(1.0 / 60.0); }
static void Main(string[] args) { OpenTK.GameWindow window = new OpenTK.GameWindow(800, 600); Game game = new Game(window); window.Run(1.0 / 60.0); }
static void Main(string[] args) { OpenTK.GameWindow baseWindow = new OpenTK.GameWindow(800, 600, new OpenTK.Graphics.GraphicsMode(32, 8, 0, 0)); Game game = new Game(baseWindow, 3, 3, 2); baseWindow.Run(); }
static void Main(string[] args) { //entry point Console.WriteLine("Loading......."); //create a window and set graphics mode OpenTK.GameWindow window = new OpenTK.GameWindow(1600, 900, new OpenTK.Graphics.GraphicsMode(32, 8, 0, 0)); //create a game singleton Game game = new Game(window); //set window run speed window.Run(1.0 / 60.0); }
public static void Main(string[] args) { var gw = new OpenTK.GameWindow(1280, 800); var mc = new MainClass(); gw.RenderFrame += delegate(object sender, OpenTK.FrameEventArgs e) { mc.RenderFrame(); }; // change to data dir System.IO.Directory.SetCurrentDirectory(System.IO.Directory.GetCurrentDirectory() + "/../../data/"); // set up graphics Graphics.Init(gw.Context, gw.WindowInfo); // set up initial tasks Tasks.Add(() => Console.WriteLine("tick")); // todo: use input queue? gw.Run(); }
static void Main(string[] args) { var timer = new Stopwatch(); timer.Start(); int bufferTexID = 0; int lastMouseX = -1; int lastMouseY = -1; float mouseDeltaX = 0; float mouseDeltaY = 0; float newMouseDeltaX = 0; float newMouseDeltaY = 0; engine = new CustomRaycaster(); using (var game = new OpenTK.GameWindow(engine.Output.Width * scale, engine.Output.Height * scale, GraphicsMode.Default, "Raycasting")) { game.Load += (sender, e) => { // setup settings, load textures, sounds game.VSync = OpenTK.VSyncMode.On; bufferTexID = GL.GenTexture(); UpdateBuffer(bufferTexID); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest); game.Cursor = OpenTK.MouseCursor.Empty; }; game.Resize += (sender, e) => { GL.Viewport(0, 0, game.Width, game.Height); }; game.KeyDown += (sender, e) => { input.Add(e.Key); }; game.KeyUp += (sender, e) => { input.Remove(e.Key); }; game.MouseMove += (sender, e) => { if (lastMouseX != -1) { newMouseDeltaX = (lastMouseX - e.X) / (float)game.Width; newMouseDeltaY = (lastMouseY - e.Y) / (float)game.Height; } lastMouseX = e.X; lastMouseY = e.Y; }; game.UpdateFrame += (sender, e) => { // add game logic, input handling if (input.Contains(Key.Escape)) { game.Exit(); Environment.Exit(0); } float speed = 0.02f; if (input.Contains(Key.W)) { engine.Camera.Move(speed); } if (input.Contains(Key.S)) { engine.Camera.Move(-speed); } if (input.Contains(Key.A)) { engine.Camera.Strafe(-speed); } if (input.Contains(Key.D)) { engine.Camera.Strafe(speed); } if (input.Contains(Key.Left)) { engine.Camera.Rotate(speed); } if (input.Contains(Key.Right)) { engine.Camera.Rotate(-speed); } if (input.Contains(Key.Up)) { engine.Camera.Look(speed); } if (input.Contains(Key.Down)) { engine.Camera.Look(-speed); } mouseDeltaX = Mathf.Lerp(mouseDeltaX, newMouseDeltaX, 0.5f); mouseDeltaY = Mathf.Lerp(mouseDeltaY, newMouseDeltaY, 0.5f); engine.Camera.Rotate(mouseDeltaX * 32); engine.Camera.Look(mouseDeltaY * 32); newMouseDeltaX = 0; newMouseDeltaY = 0; if (game.Focused) { OpenTK.Input.Mouse.SetPosition(game.X + game.Width / 2, game.Y + game.Height / 2); } }; game.Closed += (sender, e) => { //shouldStop = true; }; long lastTick = timer.ElapsedMilliseconds; game.RenderFrame += (sender, e) => { engine.Render(); UpdateBuffer(bufferTexID); DrawBuffer(game, bufferTexID); game.SwapBuffers(); lastTick = timer.ElapsedMilliseconds; }; game.Run(); } }
static void Main(string[] args) { OpenTK.GameWindow window = new OpenTK.GameWindow(1280, 720); VisualDisplay display = new VisualDisplay(window); window.Run(); }