Теперь давайте посмотрим, что будет если в нашу сцену из предыдущего примера внести свойство отражение света. Как вы, наверное, уже догадались для этого надо сделать массив, задающий свойства материала отражать соответствующие компоненты света и включить этот режим при помощи команды glLightfv(...). Массив запишем например так:
GLfloat m_matSpecular[] = {0.5f, 0.5f, 0.5f};
Этим мы говорим, что каждая компонента на 50 процентов будет отражаться, а на 50 поглощаться. Теперь включим этот режим, например в функции StartRC(...):
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, m_matSpecular);
Соберите проект и посмотрите что получилось. При запуске приложения дифузные составляющие объекта - по нулям, но в отличие от предыдущего шага объект получился серым, а не черным. Вот вам и specular.
Попробуйте поменять значения в этом массиве или еще лучше сделать обработчик для specular, такой же как и на diffuse и посмотрите что получается.
Ну, теперь быстренько, без дежурной банки холодного пива (она пусть подождет в холодильнике) переходим на следующий шаг, который смотрится гораздо симпатичнее.