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

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

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

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

О.В); /' здесь рисуем объекты '/ 1!Са1огнвтег!а1(6( РМОМТ, 6( 5РЕСОЕАй); Р функция й1Со1ог' больше не меняет диффузный цвет, ' теперь она изменяет отраженный цвет '/ 1!Са1огзт(0.9, В.О, 0.2); Р здесь рисуем другие обьекты "/ ЕИ!ваше(6!. СО!.Ой МАТЕй!АИ; Используйте функцию я1СО1огиа1ег! а1 () в тех случаях, когда для большинст- м вершин на сцене требуется подстраивать значение лишь одного параметра ма- призла.

Если изменяемых параметров несколько, как это было в случае с цвет- ймч рисунком 16, применяйте функцию я1Иатегза1*(). При исчерпании потребности в функционачьности й1СО1огнатегта1() обязательно убедитесь, ето данный механизм отключен командой й10 ! 5 аь1е () . Тем самым вы избежите дзменений свойств материала «по неустановленным причинам», а также снизите птраты в плане производительности. Быстродействие приложения при работе с механизмом й1СО)огИатег ! а1() зависит от реализации Орепб!.. Некоторые зезлнзации могут оптимизировать обработку вершин с целью ускоренного изме- нения свойств материала на основе текущего цвета. Пример, приведенный в листинге 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Н), и - (и„и„, и,) — вектор нормали едн пичной длины к вершине. Отраженная составляющая Зеркальная составляющая также зависит от того, падает ли свет непосредственн на вершину. Когда С .

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

Список файлов книги

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