i have backface culling enabled by default, because without one gets artifacts with transparent objects.
with lighting - i have switched everything on and off - no change at all. and lighting without cubemapping is ok with single and double sided lighting. besides - i checked again simple cube-tiles with cubemapping - there is the bug too, not as mentioned earlier from me. and for the simple cube there is not much to make wrong with normals
i think it´s simply a bug in software implementation (i assume software because of only 7 fps on athlon 500) of cubemapping. im sure that this error does not exists on better radeon cards with t&l unit. anyway - tonight i will try to twiddle a little my “beveled - block” code.
here my lighting code:
if(options.gl_lighting)
{
//from example prog glpuzzle www.fltk.org
float lmodel_ambient[] = {0.0, 0.0, 0.0, 0.0};
float lmodel_twoside[] = {GL_FALSE};
float lmodel_local[] = {GL_FALSE};
float light0_ambient[] = {0.1, 0.1, 0.1, 1.0};
float light0_diffuse[] = {1.0, 1.0, 1.0, 0.0};
float light0_position[] = {-20, 50, 100, 0}; // lit from up
float light0_specular[] = {0.0, 0.0, 0.0, 0.0};
float bevel_mat_ambient[] = {0.0, 0.0, 0.0, 1.0};
float bevel_mat_shininess[] = {40.0};
float bevel_mat_specular[] = {0.0, 0.0, 0.0, 0.0};
float bevel_mat_diffuse[] = {1.0, 0.0, 0.0, 0.0};
glLightfv(GL_LIGHT0, GL_AMBIENT, light0_ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, light0_specular);
glLightfv(GL_LIGHT0, GL_POSITION, light0_position);
glEnable(GL_LIGHT0);
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, lmodel_local);
glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
glMaterialfv(GL_FRONT, GL_AMBIENT, bevel_mat_ambient);
glMaterialfv(GL_FRONT, GL_SHININESS, bevel_mat_shininess);
glMaterialfv(GL_FRONT, GL_SPECULAR, bevel_mat_specular);
glMaterialfv(GL_FRONT, GL_DIFFUSE, bevel_mat_diffuse);
//glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
glColorMaterial(GL_FRONT, GL_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
}