static void drawCone(const GLdouble radius, const GLdouble height, const unsigned int nbVertexOnXZ, const unsigned int nbVertexOnY,
     const int drawExtrem)
{
float ybottom = 0;
float ytop = -ybottom;
float stepxz = (2.0f*3.14)/(nbVertexOnXZ);
float stepy = height/(nbVertexOnY+1);
float rayon = radius;

for(unsigned int i = 0; i<nbVertexOnY-1;++i)
{
 	glBegin(GL_QUAD_STRIP);
 	{
 		for(unsigned int j=0; j<=nbVertexOnXZ+1; ++j)
		{
			//calcul de la normale normalisé donc = 1
			glNormal3f(cos(stepxz*j), radius/sqrt(height*height + radius*radius),cos(stepxz*j));

			//Création du quad avec 2 points au lieu de 4
			glVertex3f(rayon * cos (j * stepxz ),i*stepy,(rayon * sin(j * stepxz )));
			glVertex3f((rayon-stepy) * cos ( j * stepxz ),(i+1)*stepy ,((rayon-stepy) * sin ( j * stepxz )));
		}
		if(rayon-stepy>=0)
		{
			rayon -=stepy;
		}
	}
	glEnd();
}