I managed to render an 3d egg object using GL_POINTS mode, I`ll post the code beneath, but now I need to render that egg not as a cloud of points but as a linked net of points, one of which has to be triangular net and the other square net. All I know is that I need to link those points in a specific order but I have no clue how to guess which points should I link.

Here’s the function that renders an egg:

void Egg(void)

{

double N = 80.0;

double x,y,z;

```
for(double u=0; u<1;)
{
for(double v=0; v<1;)
{
x = ax(u,v);
y = ay(u,v);
z = az(u,v);
glBegin( GL_POINTS );
glVertex3f(x,y,z);
glEnd();
v += 1/N;
}
u += 1/N;
}
glFlush();
```

}

and the functions that calculate next coordinates

double const Pi = 3.14159265359;

double ax(double u, double v)

{

return (( ((-90.0)*(pow(u,5))) + (225.0*(pow(u,4))) - (270.0*(pow(u,3))) + (180.0*(pow(u,2))) - (45.0*u) ) * (cos(Pi*v)) );

}

double ay(double u, double v)

{

return ( (160.0*(pow(u,4))) - (320.0*(pow(u,3))) + (160.0*(pow(u,2))) );

}

double az(double u, double v)

{

return ( ( ((-90.0)*(pow(u,5))) + (225.0*(pow(u,4))) - (270.0*(pow(u,3))) + (180.0*(pow(u,2))) - (45*u)) * (sin(Pi*v)) );

}

same but not in a c++ code

x(u, v) = (−90u^5 + 225u^4 − 270u^3 + 180u^2 − 45u) cos(Pi*v)
y(u, v) = 160u^4 − 320u^3 + 160u^2
z(u, v) = (−90u^5 + 225u^4 − 270u^3 + 180u^2 − 45u) sin(Pi*v)

where 0 <= u <= 1 and 0 <= v <= 1