GLfloat Knots[8] = {1.0f, 1.0f, 1.0f,1.0f, 4.0f, 4.0f, 4.0f, 4.0f};
GLfloat ctrlPoints[4][4][3]= {{{ -6.0f, -6.0f, 0.0f}, // u = 0, v = 0
{ -6.0f, -2.0f, 0.0f}, // v = 1
{ -6.0f, 2.0f, 0.0f}, // v = 2
{ -6.0f, 6.0f, 0.0f}}, // v = 3
{{ -2.0f, -6.0f, 0.0f}, // u = 1 v = 0
{ -2.0f, -2.0f, 8.0f}, // v = 1
{ -2.0f, 2.0f, 8.0f}, // v = 2
// { -2.0f, -2.0f, 0.0f}, // v = 1
// { -2.0f, 2.0f, 0.0f}, // v = 2
{ -2.0f, 6.0f, 0.0f}}, // v = 3
{{ 2.0f, -6.0f, 0.0f }, // u =2 v = 0
{ 2.0f, -2.0f, 8.0f }, // v = 1
{ 2.0f, 2.0f, 8.0f }, // v = 2
// { 2.0f, -2.0f, 0.0f }, // v = 1
// { 2.0f, 2.0f, 0.0f }, // v = 2
{ 2.0f, 6.0f, 0.0f }},// v = 3
{{ 6.0f, -6.0f, 0.0f}, // u = 3 v = 0
{ 6.0f, -2.0f, 0.0f}, // v = 1
{ 6.0f, 2.0f, 0.0f}, // v = 2
{ 6.0f, 6.0f, 0.0f}}};// v = 3
gluNurbsSurface(pNurb,
8, Knots,
8, Knots,
4 * 3,
3,
&ctrlPoints[0][0][0],
4, 4,
GL_MAP2_VERTEX_3);
请问这里的Knots是用来干什么的??怎样知道如何给KNOTS赋值?? [em10] |