Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КГ_методичка.doc
Скачиваний:
27
Добавлен:
08.03.2016
Размер:
125.44 Кб
Скачать

1. Источники света

Расчет освещенности любого объекта зависит от двух основных составляющих: материала, из которого состоит объект и света, падающего на объект. Материал описывает характеристики поверхности, на которую падает свет. Свет, испускаемый источниками, подразделяется на три составляющих: фоновый, диффузный и отражаемый. Фоновая составляющая определяет общую яркость источника света. Диффузная составляющая задает характеристики рассеиваемости света во всех направлениях. Отражающая составляющая определяет интенсивность отражения данного света от поверхности предметов. Поэтому источник света можно рассматривать как три разных источника расположенных в одной точке. Для каждого объекта задается материал, из которого он состоит. Материал имеет аналогичные характеристики, как и источники, но только в смысле отражения, а также дополнительный параметр - собственное излучение. Таким образом, цвет точки зависит от материала и света падающего на нее. В сцене может присутствовать несколько источников света. Цвет точки будет вычисляться по формуле:

где E - собственная светимость материала;

Ia - глобальная фоновая освещенность;

Ka - фоновый цвет материала;

Si - коэффициент отвечающий за ослабление света в силу конусообразности света и принимает следующие значения: 1 - если источник не конический (рассеянный свет) и 0 – если источник конический, но вершины не попадают в конус;

max{(v,l),0} - v - вектор от источника к вершине, l – единичный вектор направления источника света;

kc - коэффициент постоянного ослабления с расстоянием;

kl - коэффициент линейного ослабления с расстоянием;

kq - коэффициент квадратичного ослабления с расстоянием;

d - расстояние до источника света;

Iai - фоновая освещенность i-го источника света;

l - единичный вектор направления на источник света;

n - вектор нормали;

Idi - диффузная освещенность i–го источника света;

Kd - диффузный свет;

P - коэффициент Фонга;

Isi - бликовая освещенность от i-го источника света;

Ks-цвет бликов;

Источники света пронумерованы и для каждого сопоставлена константа (GL_LIGHT0, GL_LIGHT1, GL_LIGHT2…). Чаще всего поддерживается до восьми источников света. Источник света GL_LIGHT0 имеет особенные настройки по умолчанию. По умолчанию учет освещения отключен. Поэтому требуется включить его командой glEnable(GL_LIGHTING). Для установки общей освещенности используется функция glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient); где ambient - это массив, содержащий составляющие цвета в общей освещенности. Для правильного расчета освещенности необходимо задавать вектора нормалей для каждой грани командой glNormal.

Алгоритм работы с источниками света;

  1. Командой (glEnable(GL_LIGHTING)) разрешается расчет освещения.

  2. Команда glEnable(GL_COLOR_MATERIAL) разрешает применение материалов.

  3. Задается материалы поверхностей (glMaterialfv) для фонового, диффузного и отражаемого цвета.

  4. Разрешается первый источник света (glEnable(GL_LIGHT1)).

  5. Задаются параметры источника света (glLightfv) для фоного, диффузного и отражаемого цвета, а также положение источника.