public static unsafe void DrawScatterSeries(IntPtr pointer, Point2 *data, int length, byte r, byte g, byte b)
        {
            GCHandle handle = GCHandle.FromIntPtr(pointer);

            if (handle.IsAllocated)
            {
                PlotModel model = handle.Target as PlotModel;
                if (model != null)
                {
                    List <double> ydata = new List <double>();
                    List <double> xdata = new List <double>();
                    for (int i = 0; i < length; i++)
                    {
                        xdata.Add((double)data[i].X);
                        ydata.Add((double)data[i].Y);
                    }
                    model.AddScatterSeries(xdata, ydata, OxyColor.FromRgb(r, g, b), MarkerType.Circle, 1.5);
                }
            }
        }
 public unsafe static void Uniform2(int uniformLocation, int count, Point2 *values)
 {
     Delegates.Uniform2ivARB(uniformLocation, count, (int *)values);
 }