Я скачал код из учебника NeHe, посвященного освещению.Оригинальный код не включал зеркальный свет, я просто добавил его.Я определил свободные массивы цветного освещения и отключил другие источники света.
GLfloat LightBlack[] = { 0.0f, 0.0f, 0.0f, 1.0f };
GLfloat LightGreen[] = { 0.0f, 1.0f, 0.0f, 1.0f };
...
glLightfv(GL_LIGHT1, GL_AMBIENT, LightBlack); // add lighting. (ambient)
glLightfv(GL_LIGHT1, GL_SPECULAR, LightGreen); // THIS IS WHAT I ADDED
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightBlack); // add lighting. (diffuse).
glLightfv(GL_LIGHT1, GL_POSITION, LightPosition); // set light position.
...
glutSolidTeapot(0.8f);
Однако в результате оказалось, что все источники света отключены, источников света нет вообще.Кажется, что GL_SPECULAR не работает.Почему это так?
С glDisable (GL_LIGHTING);
С glDisable (GL_LIGHTING);