Hola.
Prueba a ver este código:
for (x=-1.0; x<=1.0; x+=R)
{
for (z=-1.0; z<=1.0; z+=R)
{
glColor3f(x,z,x);
glBegin(GL_QUADS);
glVertex3f(x-R,0.0,z+R);
glVertex3f(x+R,0.0,z+R);
glVertex3f(x+R,0.0,z-R);
glVertex3f(x-R,0.0,z-R);
glEnd();
}
}
La diferencia es que define el Quad en el sentido opuesto a las manecillas del reloj empezando por la esquina de abajo a la izquierda (según se ve desde el eje +Y con el +Z hacia abajo). Tú lo hacías en el sentido contrario. El BackFace Removal debería haber eliminado tus Quads (a no ser que lo tengas apagado o no estés sobre el plano XZ).
De todas formas, el resto parece estar bien y no debería hacer pentágonos! A ver si te has dejado la MODELVIEW_MATRIX mal configurada (tiene pinta de haberte dejado una rotación aplicada), carga la identidad antes de ejecutar este código.
Por último, hacerte notar que la dimensión de cada Quad es de 2*R, y que los pintas a distancia R de los centros, con lo cual se superponen. O bien los pintas a distancia 2*R, o bien usas R/2 en los glVertex (te recomiendo la primera opción).
Ya me dirás si consigues solucionar el problema.
Un saludo.
Ruben3d