Hello. I can make points interactively in my project by mouse clicking. I make bezier curve from 4 of this points. This all happens in 2d scene. I want to make rotational surface from this curve in 3d. Here is my code for 2d curve and from moving from 2d to 3d (in my glutDisplayFunc) :
glClearColor(0,0,0,0.f);
if (!_3d_flag)
{
glDisable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,g_sx,g_sy,0,-1,1);
glViewport(0,0,g_sx,g_sy);
glShadeModel(GL_FLAT);
glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, &bpts[0][0]);//bpts is array of control points for bez curve
glEnable(GL_MAP1_VERTEX_3);
glBegin(GL_LINE_STRIP);
for (int k = 0; k <= 50; k++)
glEvalCoord1f((GLfloat) k / 50);
glEnd();
}
else
{
glClearDepth(10);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60,1,2,200);
gluLookAt(LOOKATX,LOOKATY,LOOKATZ,0,0,0,0,1,0);
}
_3d_flag is flag for moving to 3D. Can I do it like this and make 3d rotational surface from my bezier curve? How can I make rotational surface from glMap2 and glMapGrid2 and glEvalMesh2?