protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            glProgram = ShaderLoader.LoadProgram(new List <ShaderSrc>
            {
                new ShaderSrc(ShaderType.FragmentShader, "shaders/fragment.glsl"),
                new ShaderSrc(ShaderType.VertexShader, "shaders/vertex.glsl")
            });

            GL.UseProgram(glProgram);
            GL.ClearColor(Color4.Black);

            cam      = new Camera2D(480, 640);
            renderer = new Renderer(glProgram, cam);
            GameManager.Instance.Renderer = renderer;

            #region Display objects instantiation

            Player player = new Player(40, 50, 10, 0);
            player.SetColor(Color4.LimeGreen);
            player.MoveTo(240, 550);

            Enemy enemy = new Enemy(40, 50, 1, 5);
            enemy.SetColor(Color4.Red);
            enemy.MoveTo(150, 20);

            GameManager.Instance.AddEntity(player, StageLayers.Main);
            GameManager.Instance.AddEntity(enemy, StageLayers.Main);

            #endregion

            GameManager.Instance.Start();
        }