Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 3 of 3

Thread: Question regarding NURBS point evaluation

  1. #1
    Junior Member Newbie
    Join Date
    Jan 2005
    Posts
    1

    Question regarding NURBS point evaluation


    I need to determine a set of points which lie on a surface (x,y,z coordinates for each point in the u and v directions) when given a knot
    vector, control points and weights in NURBS format. I know that there are NURBS evaluators in openGL (glEvalCoord), similar to using a vertex, but I do not know how to obtain the actual coordinates for each point that it has generated from the evaluator (for each u and/or v input). Any help that you could provide would be helpful. Thank you.

  2. #2
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    3,032

    Re: Question regarding NURBS point evaluation

    Look up "glFeedbackBuffer".
    Knackered

  3. #3
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,421

    Re: Question regarding NURBS point evaluation

    Originally posted by Student_1138:
    I know that there are NURBS evaluators in openGL (glEvalCoord)
    That's not a NURBS evaluator. If you want NURBS, look into glu.

    Or look for a 3rd party library. I think there was one called NURBS++ and it will let you have the tesselated geometry.

    A quick search gives
    http://libnurbs.sourceforge.net/
    ------------------------------
    Sig: http://glhlib.sourceforge.net
    an open source GLU replacement library. Much more modern than GLU.
    float matrix[16], inverse_matrix[16];
    glhLoadIdentityf2(matrix);
    glhTranslatef2(matrix, 0.0, 0.0, 5.0);
    glhRotateAboutXf2(matrix, angleInRadians);
    glhScalef2(matrix, 1.0, 1.0, -1.0);
    glhQuickInvertMatrixf2(matrix, inverse_matrix);
    glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
    glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •