Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Основные теоретические положения. Расчет освещенности любого объекта зависит от двух основных составляющих: материала, из которого состоит объект и света




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

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

 

где 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) для фоного, диффузного и отражаемого цвета, а также положение источника.

Тени

Для реализации тени требуется построить проекцию объекта на плоскость, куда падает тень. Для этого необходимо найти точки пересечения лучей исходящих из источника света и проходящих через вершины граней. Пусть имеем О - центр источника света, А - точку объекта и плоскость заданную уравнением N*P+d=0, на которой строится тень. Тогда точка пересечения P находится следующим образом:

t=-(N*O+d) / (N*(A-O))

P=O+(A-O)*t

Так как тень будет являться проекцией лицевых граней относительно источника света, то можно уменьшить количество вычислений и искать проекции только лицевых граней.

При построении теней с помощью OpenGL необходимо построить плоскость, на которую падает тень с включенными источниками света, затем отключить освещенность, построить тень, а затем включить освещенность и построить объект.

 

Задания

 

Написать программу, демонстрирующую направленный источник света, управление общей освещенностью сцены, и построение тени от объекта на плоскость.

 

Контрольные вопросы

 

1. От чего зависит расчет общей освещенностью объекта?

2. Почему источник света можно рассматривать как три источника, расположенных в одной точке?

3. Назовите характеристики материала.

4. Сколько источников света поддерживает OpenGL?

5. Какой командой задаются параметры источника света?

6. Как построить тень с помощью OpenGL?

 

Лабораторная работа №5

Метод порталов

 

Цель работы: изучить метод порталов и способ построения ограничивающих тел, освоить на практике построение лабиринта.




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных