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

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

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

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

10.2. Разнытие объекта при движении Глубина резкости На фотографии, полученной с помощью фотоаппарата, в фокус попада)от тольке элементы, принадлежащие плоскости, удаленной на определенное расстояние от пленки. С удалением элемента от этой плоскости его четкость снижается. ГлуЫ лой резкости ((1ер(Ь о( ВеЫ) в терминах фотографии называется область рядом с фокальной плоскостью, где потерей четкости можно пренебречь. В нормальных условиях все, что рисует Ореп(.'), всегда находится «в фокусеь (если у вас хороший монитор, вы могли это заметить). Буфер накопления может быть использован для приближения к картинке, которую вы увидели бы, будь Буфер накопления 411 взображение сформировано фотоаппаратом, где элементы тем больше размыты, зем далъше они находятся от фокальной плоскости.

Это не точное моделнровааае съемки фотоаппаратом, а приближение к нему, Чтобы достигнуть этого резулътата, повторите многократно рисование сцены, вызывая б1Егцэтци() с различными значениями аргументов. Подбери~с аргувеаты так, чтобы позиция точки наблюдения слегка отклонялась от ее истинной аознцин и чтобы каждый конус угла зрения проецировался в общий прямоугольник, принадлежащий фокальной плоскости, как показано на рис. 10ай Результаты по всем вариантам воспроизведения сцены нужно усреднить обычным обраюи через буфер накопления. Рмс. 10лъ <Дражанмеь видимого объема с целью получения эффекта глубины резкости На цветном рисунке 10 показано изображение пяти чайников, сформированное ~имитацией глубины резкости.

Чайник золотого цвета (второй слева) находится 412 Глава 10 ° Буфер кадров в фокусе, а другие теряют четкость при удалении от фокальной плоскости (золотой чайник). Код, посредством которого было получено изображение, приведен в листинге 105 (считаем, что ассрегзрес!(ЧеО определены ассргьзтивО, как в листинге 10.2). Сцена рисуется восемь раз, каждый раз с небольшим отклонением, вызовом ассрегзрест(чеО. Как вь! помните из примера со сглаживаниеи сцены, пятый и шестой параметры «дрожания» смещают сцену относительно осей координат х и у.

Однако, чтобы получить аффект глубины резкости, положение фокальной плоскости г должно быть неизменным. Оно задается девятым (последним) аргументом ассрегзрест(че(), и в нашем случае равно 5.0. Уровень размытия определяется константой — произведением смещений «дрожания» х и у (седь»!Ой и восьмой параметры ассре гзрес1! Че () ). Ее значение не выводится теоретически, а подбирается зкспериментально на основании значений глубин резкости изображаемого пространства.

(Заметьте, что в листинге 10.5 пятый и шестой аргументы ассрегзрес!(че() равны О, что означает отсутствие сглаживания сцены.) Листинг 10.5. Имитация глубины резкости; (]ойс чо!О (п! 1(чо(О) ( 6СГ!Ьат авЬтепт[] = ( 9.0, 9.0, 0.0, 1.0 ); 6[т!Ьат О1(тозе[] = ( 1.0, 1.0, 1.0, 1.0 6СГ!Ьа! ереси!аг[] = ( 1.0, 1.0. 1,0, 1.8 6[с!оа! роя1!!оп[] = ( 0.0, 3.0, 3.0, 0.0 ); 6СГ!Ьа! 1вобе1 авь1епс[] = ( 9.2, 9.2, 8,2, 1,0 6СГ!Ьаг 1оса! ч]еи[] = ( 0.0 ); 81(!Впсти(6( С16НТВ, 6С АМВ1ЕМТ, авЬтеп!); 8!Ы ВП!Гч(6( С16НТВ, 6С 01ЕЕ05Е, от(тозе); а!С!ВЬ!(ч(6С С!6НТВ. 6( Р05]Т]ой, роятс!оп); 8!Ствитиопе!Гч(ОС С]ОНТ МООЕС АМВ]ЕМТ, !вове! авь(епг); 8!Стяигмобе!Гч(ОС С16НТ МООЕС СОСАС Ч1ЕИЕВ, 1оса1 чтен); 8!Егоп!Расе(ОС СИ); 8!ЕпаЫе(6( С16НТ1Н6), 8!ЕпаЫе(6( ЫОНТО); 8!ЕпаЫе(6( АЬТО МОММАС); 8!ЕпаЫе(6С МОММАЫЕЕ); 8!ЕпаЫе(6С ОЕРТН ТЕ5Т); 8!С!еагсо!Ьг(9.9, 0,0, 0.0, 0.0); 8!С!еагпссов(8.9, 0.0.

0.9, 0.0); /* список отображения дпя чайника */ !еарот[1яС = 8!Оеп((я!»(1); 8!Менс1аг(Сеаро![ттат, 6( СОМР1(Е); 8!Ь15о!тбтеаро!(8.5); 81Епбш ят(); ) чо!О гепбегТеароС(6СГ!оаС х, 6(Г!Ьа! у, 6СГ!Ьаг т, Буфер накопления 413 61Розпнатг1х(): 61Тгапз1а(е1(х. у, а); еаС[0] = ааЬг; ма![1] = ааЬВ; аз![2] = авЬЬ; ма![3] = 1.0; б!МаСег1а!гч(6С ЕЙОЙТ, 6С АМВ1ЕНТ, ваС); ааС[0] = 811г; ваС[1] = О!16; ма![2] = 811Ь; б!Маеегза!Гч(ОС РНОНт, 6С 0[РРО5Е, ваС); ааС[9) = зрес г; ма! [ 1] = зресб; ааС [2] = зресЬ; б!Маеег(а!(ч(6С РНОНт, 6С 5РЕСОСАН, ааС); 61Матегза1!(6С РНОНТ, ОС 5Н1М1НЕ55, зо!пе*128.8); б!Са!!Сзз((ееароСС1зС); б!Рарна(гзх(); ] го!Е О!зр1ау(чо10) ( [пт )1ССег; 61(пС ч(еирогС[4]; 516е(1п(ебегч(бс Ч1ЕИРОНТ, ч(еирогС); б!С!еаг(ОС АССОМ ВОРРЕН 8]т); 1ог ()зССег = 9; )зССег < 8; ) 1ССег++) ( 61С1еаг(ОС СО!ОН ВОРГЕН В!Т [ ОС ОЕРТН ВОРРЕН 81Т); ассРегзресС !че (45 .

О, (6СОооо!е) ч1 еирогС [2] 7 (ОСОЬОЬ!е) 1.0, 15.9, 0.0, 0.9, 9.33')8[]1ССег].х, 9.33")8[) 1ССег].у, 5.9); (' Рубиновый, золотой. серебряный, изумрудный и циановый чай гепдегТеароС(-1.1, -0.5. -4.5. 0.1745, 0.91175, 9.01175, 0.61424, 0.04136, 0.04136. 9.727811, 0.626959, 0,626959, О.б); гепдегТеароС(-0.5, -0.5, -5.0, 9.24725, О. 1995, 0,0745, 0.75164, 0.60648, 0.22648, 9.628281, 0.555882, 9.366065, 0.4),' гепдегТеароС(8.2, -9,5. -5.5, О. 19225, 9. 19225, 0.19225, 0.59754, 0.50754.

0.50754, 0.508273, 9.508273. 0.508273, 0.4): гепдегтеароС(1.8, -9.5, -6.0, 8,8215. 8,1745, 0.8215, 0.07568, 9,61424, 0.07568, 0.633, 0.727811, 0.633, 9.6); гепдегТеароС(1.8, -0.5, -6.5, 9.0, 9.1, 0.86, 0.0, 0.50980392, 0.50980392, 0.59196078, 0.50196078, 0.59196078,.25)'! 61Ассоа(ОС АССОМ, О. 125); б!Ассов(ОС НЕТОНН, 1.9): б!Р!Озн(); ч1еирогС[3], ники '7 продолжение Р 6[11оаС авЬг, ОС(1оаС авЬВ, 6СС!оаС ааЬЬ, 6[1!оаС д!(г, 6С(!оаС О!16, ОС(!оаС Оз(Ь, 6[!!оаС зресг, 6СГ!оаС зресб, 6С11оаС зресЬ, 6(11оаС 481пе) ( 6!!!оаС ма![4]: 414 Глава 10 ° Буфер кадров Листинг 10.5 (продолжение) чо»б ге»паре(тпс и, !пс и) ( 81Ч!еирогС(8, О, (614!се!) и, (615\се!) П); ) Главный цикл * Убелитесь е наличии запроса бу!бера накопления.

»! !пс яатп(тпс агбс, спаг** агбч) ( 81ЧС1птт(аагбс, агбч); 81цС1п!СО!»р1аунобе(6(ОТ 51Н6СЕ ( 6СОТ а68 ! 6СОТ АССОМ ! 6СВТ ОЕРТН); 81цС1п!СИ(пбои5!се(488, 408); 81цС1п!СИ(пбоиРоь(С(оп(188, 180); 81цССгеатеИ(пбои(агбч(0)); (п»с(); 81цтаеььарерцпс(геььаре); 81цСО»»Р1аУРцпс(б!»Р1ау); 81цСМатпьоор(); геСцгп 8: Плавные тени Чтобы получить суммарную тень от множества источников цвета, нужно воспроизвести теши от каждого источника по отдельности и свести их вместе. Это вычисление может быть объединено во времени с пространственным «дрожанием» (сглаживаннем сиены).

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

Таблица 10.8. Значения для «дрожания» Количество Значения (0.25, 0.75), (0.75, 0.25) (0.5033922635, 0.8317967229),(0.7806016275, 0.250438087?),(0.2261828938, 0.4131553612) (0.375, 0.25), (0.125, 0.75), (0.875, 0.25),(0.625, 0.75) Мозаичное представление и поверхности второго порядка Прочитав эту главу, вы научитесь: ° Отображать вогнутые закрашенные многоугольники, предварительно разбитые на выпуклые многоугольники, которые могут быть отображены стандартными средствами Орели~ ° Использовать библиотеку инструментов Ореола~ для создания объектов второго порядка — моделировать и отображать поверхности сфер и цилиндров, дисков и неполных дисков Мозаичное представление многоугольников 417 Библиотека ОрепС(.

1!Ъгагу (СЪ) разработана для низкоуровневых операций, оптимально совместимых с аппаратными видеоускорителями. Библиотека инстРументов ОрепС1. (ОрепС1. ()г!!!гу 1»Ьгагу, СЕН) служит дополнением к библиотеке ОрепС1 и поддерживает операции более высокого уровня. Некоторые операции СШ рассмотрены в других главах. М1Р-преобразование (П1нйнт1П« 0РП рва рз () ) и масштабирование изображений (п1ц 5 са1е1юапе () ) обсуждались вместе с другими аспектами наложения текстур в главе 9.

Несколько СЫ1-процедур матричных преобразований (п1иОгтйо2ОО, к1цРегзресгзуеО, к1о~ооКА((), 01врго)ест(), п1цппрго)ес(О и п1нппрго)есгйО) описаны в главе 3. Об использовании к1црт скиа1 г ! х () говорится в главе 13. Средства С1Л) Х()ВВБ, надггроенные поверх вычислителей ОрепС(., представлены в главе 12. Нам осталось мтронуть только две темы, связанные с Сз1(): мозаичное представление многоугольников и квадратичные (второго порядка) поверхности; зги темы обсуждаются в данной главе. С целью достижения лучшей производительности основные средства ОрепС1. юспроизводят только выпуклые многоугольники, но С(.() содержит подпрограммгп для превращения выпуклых многоугольников в вогнутые. В то время как осповньге средства ОрепС( оперируют простыми примитивами, такими как точхп, линии и закрашенные многоугольники, СЫ1 способна создавать объекты более высокого уровня, такие как сферические поверхности, цилиндры и конусы.

3та глава включает в себя следующие основные разделы: ° Мозаичное представление многоугольников. Объясняет, как вогнутые многоугольники преобразуются в легко отображаемые выпуклые многоугольники. ° Поверхности второго порядка: сферы, цилиндры и диски. Описывает, как генерировать сферы, цилиндры, окружности и дуги, включая такие данные, как нормали к поверхностям и координаты текстур.

Мозаичное представление многоугольников Вразделе «Описание точек, линий и многоугольников» главы 2 уже говорилось, ~то ОрепС1. в состоянии непосредственно отображать только простые выпуклые ппогоугольники. Многоугольник является простым, если его ребра пересекаются юлько в вершинах, в нем отсутствуют дубликаты вершин и из любой вершины кегда исходят два ребра. Если ваша программа требует отображения вогнутых пногоугольников, или содержащих отверстия, или с, пересекающимися ребрами, пп многоугольники должны быть до своего отображения разбиты на простые аппуклые многоугольники.

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

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

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

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