public override void Animation(RenderControl render, float time) { var position = mGeometry.GetAttribute(0); position.SetDataUsage(EnumBufferDataUsage.DYNAMIC_DRAW); var mPosition = new Float32Array(position.GetData()); var count = mPosition.GetItemCount() / 3; for (uint i = 0; i < count; i++) { var z = (float)(35 * Math.Sin(i / 5 + (time * 50 + i) / 7)); mPosition.SetValue(i * 3 + 2, z); } position.RequestUpdate(); mGeometry.RequestUpdate(); render.RequestDraw(); }