Lighting and the backside

Is it possible to have the back of a quad lit as well as the front? i have a 3d mathematical formula, and part of it is lit on one side, and another part is lit on the other side. can i light both sides of both parts? thanks in advance.

yes, I believe you just call
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
this may cause a significant performance hit

after i look at it, it seems that both sides are shaded on one side, and neither are shaded on the other. i think the unshaded side is in the negative x, so maybe it has something to do with the crossproduct formula for normals? anyone have any idea?

a little code for ya eh?

glBegin(GL_QUADS);

for(x=-SIZE;x<=SIZE;x+=FREQ) {
  for(y=-SIZE;y<=SIZE;y+=FREQ) {

  	pts[0].x = x;
     pts[0].y = y;
  	z=sin(pts[0].x)+sin(pts[0].y);
     pts[0].z = z;

     pts[1].x = x+FREQ;
     pts[1].y = y;
     z=sin(pts[1].x)+sin(pts[1].y);
     pts[1].z = z;

     pts[2].x = x+FREQ;
     pts[2].y = y+FREQ;
     z=sin(pts[2].x)+sin(pts[2].y);
     pts[2].z = z;

     pts[3].x = x;
     pts[3].y = y+FREQ;
     z=sin(pts[3].x)+sin(pts[3].y);
     pts[3].z = z;
     normal.x=(pts[2].y-pts[1].y)*(pts[4].z-pts[1].z)-(pts[2].z-pts[1].z)*(pts[4].y-pts[1].y);
     normal.y=(pts[2].z-pts[1].z)*(pts[4].x-pts[1].x)-(pts[2].x-pts[1].x)*(pts[4].z-pts[1].z);
     normal.z=(pts[2].x-pts[1].x)*(pts[4].y-pts[1].y)-(pts[2].y-pts[1].y)*(pts[4].x-pts[1].x);
     glNormal3f(normal.x, normal.y, normal.z);
   	glVertex3f(pts[0].x, pts[0].y, pts[0].z);
   	glVertex3f(pts[1].x, pts[1].y, pts[1].z);
   	glVertex3f(pts[2].x, pts[2].y, pts[2].z);
   	glVertex3f(pts[3].x, pts[3].y, pts[3].z);
   }

}

glEnd();