public void bufferSubData(int target, int offset, float[] data)
        {
            unsafe
            {
                fixed(void *p = data)
                {
#if GLEW_STATIC
                    Gl.glBufferSubData(target, offset, data.Length * sizeof(float), p);
#else
                    Gl.__glewBufferSubData(target, offset, data.Length * sizeof(float), p);
#endif
                }
            }

            this.ErrorTest();
        }
        public void bufferSubData(int target, int offset, int size, IntPtr data)
        {
#if _DEBUG
            Log.Info(string.Format("bufferSubData {0} {1} {2}", target, offset, size));
#endif
            unsafe
            {
#if GLEW_STATIC
                Gl.glBufferSubData(target, offset, size, data.ToPointer());
#else
                Gl.__glewBufferSubData(target, offset, size, data.ToPointer());
#endif
            }

            this.ErrorTest();
        }