public void UpdateUV()
{
if (this.uv == 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.uvBufferId);
#if !__MOBILE__
GL.BufferData<float>(BufferTarget.ArrayBuffer, (IntPtr)(this.uv.Length * sizeof(float)), this.uv, BufferUsageHint.DynamicDraw);
#else
GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(this.uv.Length * sizeof(float)), this.uv, BufferUsage.DynamicDraw);
#endif
}