protected override void OnRenderFrame(FrameEventArgs e) { Tick tick = new Tick(); base.OnRenderFrame(e); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.MatrixMode(MatrixMode.Modelview); m_camera.UpdateCameraView(); List <CoordinateEngine.RelativisticObject> ros = universe.GetNPCs(); lock (ros) { foreach (CoordinateEngine.RelativisticObject ro in ros) { DrawRelativisticObject(ro); } } lock (universe.bro){ m_camera.camera_position = CoordinateEngine.toVector3(universe.bro.x);//Loses accuracy in this... } //DrawRelativisticObject(universe.bro, false);//Don't draw bro if the camera is at bro. DrawHUD(); stats.AddValue(FPS_TAG, tick.Tock()); this.SwapBuffers(); Thread.Sleep(1); }
/// <param name="u">A Universe to display.</param> public Canvas(Universe u) : base(1920, 1080, new OpenTK.Graphics.GraphicsMode(16, 16)) { universe = u; m_camera = new rope.camera(CoordinateEngine.toVector3(universe.bro.x), new Vector3(0, 0, -1), new Vector3(0, 1, 0)); printer = new OpenTK.Graphics.TextPrinter(); stats = Stats.Instance(); stats.AddValue(FPS_TAG, -1); }