private MapGrid2f ( int un, float u1, float u2, int vn, float v1, float v2 ) : void | ||
un | int | |
u1 | float | |
u2 | float | |
vn | int | |
v1 | float | |
v2 | float | |
return | void |
/// <summary> /// /// </summary> public override void Setup(UnmanagedArray <vec3> controlPoints) { OpenGL.Map2f(OpenGL.GL_MAP2_VERTEX_3, //生成的数据类型 minU, // u的下界 maxU, //u的上界 3, //数据中点的间隔 3, //u方向上的阶 minV, //v的下界 maxV, //v的上界 9, // 控制点之间的间隔 3, // v方向上的阶 controlPoints.Header); //控制点数组 //OpenGL.Enable(OpenGL.GL_MAP2_VERTEX_3); //从0到10映射一个包含10个点的网格 OpenGL.MapGrid2f(10, 0.0f, 10.0f, 10, 0.0f, 10.0f); }
/// <summary> /// /// </summary> public override void Setup(vec3[] controlPoints) { GCHandle pin = GCHandle.Alloc(controlPoints, GCHandleType.Pinned); IntPtr header = Marshal.UnsafeAddrOfPinnedArrayElement(controlPoints, 0); OpenGL.Map2f(OpenGL.GL_MAP2_VERTEX_3, //生成的数据类型 minU, // u的下界 maxU, //u的上界 3, //数据中点的间隔 3, //u方向上的阶 minV, //v的下界 maxV, //v的上界 9, // 控制点之间的间隔 3, // v方向上的阶 header); //控制点数组 //OpenGL.Enable(OpenGL.GL_MAP2_VERTEX_3); //从0到10映射一个包含10个点的网格 OpenGL.MapGrid2f(10, 0.0f, 10.0f, 10, 0.0f, 10.0f); pin.Free(); }