Beispiel #1
0
        /// <summary>
        /// Render to the provided instance of OpenGL.
        /// </summary>
        /// <param name="gl">The OpenGL instance.</param>
        /// <param name="renderMode">The render mode.</param>
        public override void Render(OpenGL gl, RenderMode renderMode)
        {
            //  Call the base.
            base.Render(gl, renderMode);

            //	Begin drawing a NURBS curve.
            gl.BeginCurve(nurbsRenderer);

            //	Draw the curve.
            gl.NurbsCurve(nurbsRenderer,                        //	The internal nurbs object.
                          knots.Length,                         //	Number of knots.
                          knots,                                //	The knots themselves.
                          3,                                    //	The size of a vertex.
                          ControlPoints.ToFloatArray(),         //	The control points.
                          ControlPoints.Width,                  //	The order, i.e degree + 1.
                          OpenGL.GL_MAP1_VERTEX_3);             //	Type of data to generate.

            //	End the curve.
            gl.EndCurve(nurbsRenderer);

            //	Draw the control points.
            ControlPoints.Draw(gl, DrawControlPoints, DrawControlGrid);
        }