public void UpdateVertexColor()
{
if (this.vc == null)
return;
this.Bind();
// we use dynamic drawing, could be inefficient for simpler cases, but improves performance in case of complex animations
GL.BindBuffer(BufferTarget.ArrayBuffer, this.vcBufferId);
#if !__MOBILE__
GL.BufferData<float>(BufferTarget.ArrayBuffer, (IntPtr)(this.vc.Length * sizeof(float)), this.vc, BufferUsageHint.DynamicDraw);
#else
GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(this.vc.Length * sizeof(float)), this.vc, BufferUsage.DynamicDraw);
#endif
}