Example #1
0
    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);
    }
Example #2
0
 /// <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);
 }