Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Модель освещения в OpenGL






Параметры модели задаются командой:

glLightModel[i f] v( GLenum pname, GLenum param)

Аргумент pname определяет единственное значение параметра модели освещения и может принимать следующие значения:

GL_LIGHT_MODEL_LOCAL_VIEWER - Параметр param содержит единственное булевское значение, определяющее местоположение наблюдателя. Если param = GL_FALSE, то направление наблюдения считается параллельным оси -z и направленным вдоль нее, независимо от действительного положения в видовых координатах. В противном случае (GL_TRUE) предполагается, что наблюдатель находится в начале видовой системы координат. По умолчанию параметр param установлен в GL_FALSE.

Использование локальной точки наблюдения позволяет создать более реалистичную картину зеркального освещения, так как для каждой точки поверхности формируется вектор, направленный на наблюдателя. В случае наблюдателя, расположенного в бесконечности, данный вектор для всех точек одинаков и направлен вдоль оси Z.

GL_LIGHT_MODEL_TWO_SIDE - Параметр param представляет единственное булевское значение, которое определяет расчет освещенности многоугольников для одной или двух граней. Этот параметр не влияет на расчет освещенности для точек, линий или битовых массивов. Если param = FALSE, то задано одностороннее освещение, и расчет освещенности производится только для лицевой грани. В противном случае (TRUE) задается двухстороннее освещение и, на ряду с лицевыми гранями, рассчитывается освещенность вершин обратных граней многоугольников. Их нормали направлены в противоположные стороны. По умолчанию FALSE. Если сцену составляют только замкнутые пространственные объекты (сферы, кубы и пр.), без сечений то целесообразно использовать расчет освещения только лицевых граней, что существенно ускоряет визуализацию объектов сцены.

GL_LIGHT_MODEL_COLOR_CONTROL - Параметр param может определятся символической константой GL_SEPATARE_SPECULAR_COLOR, заставляющей конвейер отделять вычисление зеркально отраженного света от других составляющих. В этом случае для каждой вершины рассчитываются два значения цвета: первое значение образуется совокупность всех не зеркальных составляющих, а второе суммой зеркальных составляющих. Данный режим важен при наложении текстур. При расчете результирующего цвета сначала первое значение комбинируется с цветовыми характеристиками текстуры, а затем результат объединяется со вторым значением. Такой подход позволяет получить более ярко выраженные зеркальные блики на текстурированной поверхности. Для возврата к значению, установленному по умолчанию, необходимо воспользоваться константой GL_SINGLE_COLOR.

Кроме того, для векторной версии команды доступно еще одно значение параметра pname.

GL_LIGHT_MODEL_AMBIENT - Параметр param содержит четыре целых или вещественных значения, которые задают полную фоновую интенсивность света. По умолчанию значение фонового цвета равно (0.2, 0.2, 0.2, 1.0).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.