Главная » Просмотр файлов » OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д

OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (1124475), страница 42

Файл №1124475 OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (Раздаточные материалы) 42 страницаOpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (1124475) страница 422019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 42)

Пример, приведенный в листинге 5.9, представляет собой интерактивную про- (рамму, использующую функцию й1СО1огИатег1а1() для изменения свойств нттериала. Нажатие любой из трех кнопок мыши изменяет рассеянный цвет. Листинг $.9. Применение функции 9(СО!ОРМа(ег!а(о: со(оггпа(.с ,ЕИ1аа! бтттизеивтег! в!(4! = ( О. 5, О. 5, О. 5, 1. 0 ); та)а ! и ! т (чо! и) ! 6Ш1овт шв! зреси1аг(! = ( 1.0, 1.0, 1.0, 1.0 6!Г!ов! 1тйнт роз!!топ(! = ( 1 О, 1 О, 1 О, О О ); 5161еагсо1ог(В.В, 0.0, 0.0, 0.0): 515нвиеноие!(ОС 5НООтН); й!Епвще(6( ОЕРТН ТЕЕТ); Е!Нвтег!в)тч(6! РйОМт, 6! 01РРОЕЕ, бтттизенв!егтв!); 51нзтег1в1(ч(6Е РйОМТ, 6! 5РЕСОЕАЙ, мвт зреси1аг); 51нвтег!а1((61 РМОМТ, 6! 5Н1М1МЕ55, 25.0); 51Ш йнттч(6! (16ИТО, 6! Р051ТХОМ, 1твн! роз!!топ); 51Епвще(6( (16НТ!М6); 51Епвше(6( (16НТО); Енса(огнатег!в1(6( РМОМТ, 6( 01РРОЕЕ); Е!Епаше(6( СО(Ой НАТЕй)АС); ! продолжение .Р Математика освещения 191 Ее(ао11: Ьгеах') !п( па!и(!пт агас, сваг'" агвч) 91»11п!!(аэгас, агхч); 91ч(1п!10!»р1ауноое(6(от 51Н6(Е ! 6(ВТ а6В ~ 6(ОТ 0ЕРТН); а)и(!п!ГН!ппо»5!ге(599.

500); 51»11п1(Н!пеочРо»!1!оп(199, 109); а)чгсгеаген!ппоп(агхч( 0 ) ); !и!(О; 51010!»р1аугопс(Е!»01ау); 5101аезьарерипс(ге»варе); 51чгнпи»еЕчпс (пои»е); 91чгна! псоор(); гегпгп 9; Упражнение Модифицируйте программу в листинге 5.8 следующим образом: » Измените общее освещение сцены. Подсказка: используйте параметр 6Е (16НТ НОВЕЕ АНВ1ЕНТ. ° Измените рассеянный, фоновый и отраженный цвета, блеск и цвет излучения. Подсказка: используйте функцию я1На 1е г ! а1* (), но не злоупотребляйте е!о.

ч Примените двухсторонний материал и добавьте пользовательские плоскости отсечения таким образом, чтобы видеть сферы «изнутри» и «снаружи». (См. раздел «Дополнительные плоскости отсечения» главы 3.) Подсказка: включите двухстороннее освещение с помощью 6Е Е16НТ НОВЕЕ Т)(0 510Е, установите нужные свойства материала и добавьте плоскости отсечения. ° Вместо вызова функции 61натег! 91(ч О для установки значения параметра 6( 0(РЕО5Е используйте более эффективный вызов функции 81601огнатег ! а1О с сохранением той же освещенности сцены. Математика освещения 3 агом разделе представлены уравнения, привлекаемые Орепб). для расчетов осищенности, чтобы задать цвета в режиме ВОВА.

(См. раздел «Математика освещения в режиме индексации цвета» для получения информации о соответствующих вычислениях.) Вам не нужно читать этот раздел, если вы хотите добиться щ!ределенного освещения экспериментальным путем. Даже со знанием этих )равнений вам наверняка придется экспериментировать, но вы будете иметь лучщее представление о том, как значения определегшых параметров влияют на цвет ир!пины.

Помните, что если освещение выключено, цвет вершины просто приаакает значение текущего цвета, если же освещение включено, расчеты, связанаые с ним, производятся в видовых координатах. 192 Глава 5 ° Освещение В следующих уравнениях математические расчеты производятся отдельно для К-, С- и В-компонентов цвета. Таким образом, если в уравнении складываются три величины, следует понимать, что значения К, С и В складываются друг с другом попарно, формируя результирующий КСВ-цвет (К1+ Кг + Кз С~ + Сз + Сз В, + В, + В,). Когда же три величины перемножаются, результатом будет цвет (К,К1КяС,С,Сь В,В,В;).

(Напомниль что значение альфа-компонента цвета вершины равно значению альфа-компонента цвета рассеивания материала этой вершины.) Цвет освещенной вершины вычисляется следующим образом: цвет вершины - излучаемый цвет материала вершины + общий фоновый цвет, масштабированный согласно значению фонового цвета материала вершины + + фоновые, рассеянные и отраженные составляющие всех источников света, ослабленные должным образом [1осле расчета освещенности значения цветов приводятся (в режиме КСВА) к диапазону [О, 1). Не забудьте, что ОрепС) не принимает в расчет возможность того, что один объект может загораживать свет для другого и, как следствие, автоматически не отбрасываются тени. (См.

раздел «Тени» главы 14 для получения информации о технологии создания теней.) Также учтите, что в ОрепСЪ самосветящиеся объекты не освещают другие объекты. Излучение материала Об излучаемой составляющей спйзз1оп„х,„„, достаточно сказать только, что это КСВ-значение, присваиваемое параметру 6ь ЕМ15510М.

Масштабированный общий фоновый свет Второй составляющей уравнения является значение, вычисленное путем перемножения общего фонового света (определенного параметром 6Е Ь?6МТ М00Ег АМВ1ЕМТ) на значение фонового цвета материала (6Е АМВХЕМТ, заданного функцией а1Матег1а1'()): атЪ|епь,м „„,„„, х ашЪ1епг„,х„„а Каждая пара значений К, С и В для этих двух параметров перемножается независимо, формируя результирующий КСВ-цвет данной составляющей: (К, К,, С,С„В, В,). Вклады от источников света Каждый источник света может вносить свой пай в освещенность вершины, и все эти взносы от всех источников суммируются.

Далее приведено уравнение, по которому выполняется вычисление вклада от каждого источника света: вклад = коэффициент ослабления х влияние прожектора х х (фоновая составляющая + рассеянная составляющая + + отраженная составляющая) Математика освещения 193 . 'АОзффициент ослабления фактор ослабления был рассмотрен в разделе «Положение и ослабление». Форвулу мы приведем повторно: 1 коэффициент ослабления = Д, «-Д,с(+ Д„И где й — расстояние от источника света до вершины, В,.

— 61 СОМ5ТАМТ АТТЕМОАТ10М, ч- 61 С1меАК Аттемцлт10м, ૠ— 6с ООАОМАт1с АттемОАт10м. Если источник света является направленным, коэффициент затухания равен 1. Зффект прожектора Зффект пролгехтора (зрог11яЬ1 е((ест — в формуле) выражается в добавлении одиао из трех значений в зависимости от того, является ли в действительности иствчвик света прожектором и находится ли вершина внутри или снаружи конуса юлучения прожектора: ° 1, если источник не является прожектором (параметр 61 5РОТ СОТОРР равен 180.0); ~ О, если источник света является прожектором, но вершина лежит вне его конуса излучения; ю (шах (ч П, 0))с'-»еот-кхго"ввт, где ч = (п„оп и,) — единичный вектор из прожектора (6Е Р051Т1ОМ) в вершину, О = (Ы„, «1„, Ы,) — ориентация прожектора (61 5РОТ 01КЕСТ10М) при условии, что источник света является прожектором и вершина находится внутри его конуса излучения. Скалярное произведение векторов ч и О меняется в соответствии с косинусом угла между ними; таким образом, объекты на линии освещения получают максимум освещенности, на объекты вне этой линии света поступает меньше, в соответствии с косинусом угла.

Чтвбы выяснить, лежит ли вершина внутри конуса излучения прожектора, ОрепС). шчвсляет значение (шах (ч О, О)), где ч и о определены аналогично. Если эта вежчвна меньше косинуса угла при вершине конуса излучения прожектора (61 ЯОТ СОТОРЕ) — вершина находится вне конуса излучения, в противном случае ма попадает внутрь конуса. ФОновая составляющая Зтот член уравнения представляет собой фоновый цвет источника, умноженный ' ж фоновый цвет материала вершины: мвЬ!епсмм х аш)йепс„,в„,ь» Рзссеянная составляющая Диффузный компонент необходимо принимать в расчет независимо от того, латает ли свет непосредственно на вершину или нет.

Он вычисляется как 194 Глава 5 ° Освещение (гиах (с . и, 0)) х |ййпзе „„„„х Ййпзе„,я,„,п, где С = (С„, С„, С,) — единичный вектор, указывающий из вершины в направлени положения источника света (6С Р051Т10Н), и - (и„и„, и,) — вектор нормали едн пичной длины к вершине. Отраженная составляющая Зеркальная составляющая также зависит от того, падает ли свет непосредственн на вершину. Когда С . и меньше нли равно О, это говорит, что в вершине нет отра женной составляющей. (Если эта величина отрицательна, источник света нахо дится с другой стороны поверхности.) Если же отраженная составляющая прн сутствует, она зависит от следующего: ° нормали к вершине единичной длины (и„, и„, и,); ° суммы двух векторов единичной длины: вектора между вершиной и источнп ком света (положением или направлением) и вектора, соединяющего вершин и точку наблюдения (в случае если выбран режим 6С С16НТ НООЕС СОСАС Ч1ЕИЕР; если это не так, в качестве второго вектора суммы берется (О, О, 1)) Эта векторная сумма нормализуется (посредством деления каждого комле нента на длину получившегося вектора).

В результате получаем з = (з„з„, з,); ° показателя степени эЬ!и!пезз для учета блеска (6С 5Н1Н1НЕ55); ° цвета зеРкального компонента источника света (6с 5РеспсАн,,„,м); ° цвета зеркального компонента материала (6С 5РЕСОСАН„,,„,„ы). На основе приведенных выше определений Орепоь рассчитывает отраженну составляющую по следующей формуле: (шах (э и, О))'"'"'""' х зресп!аг„м х зресп!аг„„,„и„,|, Однако если с . и = О, отраженная составляющая также равна О.

Все вместе Теперь, отталкиваясь от определений, сформулированных выше, запишем урав пение освещенности в режиме КОВА в окончательном виде: цвет вершины - еппзгйоп„,„.„„„+ ашЬ!епс„„м „,,„, х агиЬ|епс„,„,„„п е .-|( + ~~"! х (эрос!!яЬс ейесс), х (ашЪ!епсГви х ашЪ!епс,„„,„,ы + + (шах(с и, 0)) х с)!визе|ем х с)!Йпзе „„и,| + + (шах(э . и, 0))'и""""' х ереси!аг|вм х зресп!аг„„,„„„), Вторичный отраженный цвет Если для некоторой модели освещения цветовой режим установлен в значени 6С 5ЕРАНАТЕ 5РЕСОСАН СОСОН, то для каждой вершины вычисляются два цве (первичный и вторичный) в соответствии со следующими формулами: Освещение в режиме индексации цвета 195 первичный цвет - излучаемый свет материала вершины + общее фоновое освещение, умноженное на фоновую составляющую цвета материала вершины + фоновая и диффузная составляющие всех источников света, ослабленные соответствующим образом; вторичный цвет - отраженные составляющие всех источников света, ослабленные соответствующим образом.

Характеристики

Тип файла
PDF-файл
Размер
56,35 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее