public override void Setup(vec3[] controlPoints)
{
GCHandle pin = GCHandle.Alloc(controlPoints, GCHandleType.Pinned);
IntPtr header = Marshal.UnsafeAddrOfPinnedArrayElement(controlPoints, 0);
OpenGL.Map1f(OpenGL.GL_MAP1_VERTEX_3, //生成的数据类型
minU, //u值的下界
maxU, //u值的上界
3, //顶点在数据中的间隔,x,y,z所以间隔是3
controlPoints.Length, //u方向上的阶,即控制点的个数
header//指向控制点数据的指针
);
pin.Free();
}