Шаг 45 - Отражение

Теперь давайте посмотрим, что будет если в нашу сцену из предыдущего примера внести свойство отражение света. Как вы, наверное, уже догадались для этого надо сделать массив, задающий свойства материала отражать соответствующие компоненты света и включить этот режим при помощи команды 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 и посмотрите что получается.

Ну, теперь быстренько, без дежурной банки холодного пива (она пусть подождет в холодильнике) переходим на следующий шаг, который смотрится гораздо симпатичнее.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Kirill V. Ratkin - 12.06.2000