public void Initialize()
        {
            GL.ClearColor(0.5f, 0.5f, 0.5f, 1f);
            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
            GL.Enable(EnableCap.Multisample);

            geoShader.Initialize(VertexShaders.MVPTransformed, FragmentShaders.SolidColor);
            spriteShader.Initialize(VertexShaders.MVPTransformed, FragmentShaders.Textured);

            texture.Allocate();

            origin.Allocate();
            origin.SetData(PrimitiveType.Lines,
                           new Vertex[]
            {
                new Vertex(-10000, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0),
                new Vertex(10000, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0),
                new Vertex(0, -10000, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0),
                new Vertex(0, 10000, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0)
            },
                           new int[] { 0, 1, 2, 3 },
                           false
                           );

            quad.Allocate();
        }