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();
        }