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

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

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

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

(Запрос со значением 6С 5АНРСЕ5 возвращает количество элементов выборки. Если оно равно единице, мультивыборка невозможна.) 611пт ьотз, заир\ез; В16е11птеаегч(6( 5АНРСЕ ВВГГЕР5, аьотз); В16ет)псевегч(60 5АИРСЕ5, Ввавр(ез); 3. Для активизации мультивыборки используется команда: 01Епао)е(6С НВСТ15АРСЕ): Программа из листинга 6.6 рисует два набора примитивов, демонстрируя эффект от применения мультивыборки. Процедура тлтс() проверяет, доступен ли режим множественной выборки, а затем создает два списка отображения: один в виде «солнечного колеса» из линий различной толщины и треугольников (за- ! крашенных многоугольников), и второй с «шахматным» фоном. В процедуре отэр!ау() выводится «солнечное колесо» в двух видах: с мультивыборкой (слева) и без нее (справа).

Таким образом, можно сравнить ступенчатость двух объектов. Контрастный фон иногда акцентирует зубчатость, а иногда скрадывает ее. С помощью клавиши Ь можно перерисовать изображение — с «шахматным» фоном или без него. Листинг 6.6. Применение мультивыборки: гло(1(эаглр.с зтаттс (п1 ЬВСЬВВ1е = 1; /» * Выводим параметры состояния, связанные с мупьтивыборкой. ' Создаем список отобраиения с "колесом" из линий и треугольников.

Сглаживание 221 то!а !п!с(чо(О) ( 6(!пС Ьчг, зЬчс; !пс т, 1; 61С1еагСосог(0.8, 8.0, 8.0, 8.8): 616еС1пСебегч(6с 5АМРСЕ ВОЕЕЕК5 АКВ, ВЬч!): ргтпсг("Количество буберов выборок равно ХО(п", Ьч!)! 616ес1псевегч(6с 5Амрсе5 АВВ, азьч!); рг!пСГ("Количество элементов выборки равно ХО(п", зЬч!); В!Мень!зС(1, 66 СОМЕ)СЕ); сог (! = 0; ! < 19; !++) ( 61РозлнаСгтх(); В)Котята!(368.О"(!сов!)!7 13.8, О.О. О.О, 1.0); ВссосогЗ! (1.0, 1.0, 1.0); 61(тлен!ОСЬ((т%3)<1.9): 618еВ!п(6с с1МЕ5): 61Чегтех2г(9.25, 9.95); В(чегеехгг(В.В, 8.2); 61Епо(); 61Со1огзг(9.0, 1.8, 1.0); 61Веб!п(6с ТК1АМОСЕ5); 61Чегтех2г(0.25, 0.0); 61Чегтех2г(0.3, 0.9): 61Негтех27(8.975, О.

19); 61Епо(); 61Рорнатгтх(); 61ЕпОС!зС(); 61нен(тзС(2, 6С СОМР1СЕ); 61Со)огзг(1.9, 8.5, 0.0); 61ВеВтп(6с ООА05); тог (! = 8; т < 16; !++) ( гог () = 0; ) < 16; )++) !Г (((т + )) М 2) == 8) ( 61ЧЕГСЕХ2((-2,8 + (! * 0,25), -2.8 + (1 * 8.25)); 61Негтех2Г(-2.9 + (! ° 0.25), -1.75 + () ' 9.25)); В(Чегтех2((-1.75 + (! ' 0.25), -1.75 + () * 0.25)); В(Чегтех27(-1.75 + (т * 0.25), -2.0 + () * 0.25)); ) 61Епб(); 61ЕпбСтзС(); ) /' Рисуем два набора примитивов для сравнения результатов ' при использовании мультивыборки и в ее отсутствие. ' Зтот код включает сглаживание и рисует один список отображения, ° затем отключает сглаживание и рисует второй список отображения ° / та(в Отзр1ау(чо(О) продолжение *р 222 Глава б ° Смешивание, сглаживание, туман и отклонение Листинг 6Я (про<>ряженое) ( В(С(еаг<аЕ СОЕОМ ВВРРЕВ В)т>; (! (ЬВ1оав1е) В1Св11Е(вс(2); В1Епао>е(ВЕ ИЬЕТ15АМРЕЕ АМВ); В1РивПМа!г!х О; В>тгапв(асе(<-1.В, В,О, О,О>; В1Са11(! 51(1); В\РорМасг(х(); В>В(вао(е(ВЕ М 61ривПМэсг! х () В1тгап»1аге((1 в<сапе!вт(1); 61Рорнасг!х О; В1и(5иарви((ег оет15АНРее АМВ); .В, 0,0.

О.В); »О ) ио!б КеуЬоагб(ипв!Впеб слаг Кеу, (пс х, чпс у) ( ви((сл (Кеу) ( саве 'Ь': саве 'В': Ьвсоха В(и(Ро Ьгеах; саве 27: / ех!С(в Ьгеах; бе(аи11; Ьгеаа; 1е = (ЬВ(овв1«: всаеб!вр1ау О; ' Клавиша Евс '/ ): Альфа-компонент и покрытие мультивыборки По умолчанию мультивыборка вычисляет степень покрытия тех фрагментов, которые не зависят от значения альфа-компонента. Однако есть специальные режи- В стандартной реализации возможности управления мультивыборкой весьма ограничены. Нельзя изменить число элементов выборки или задать (или даже узнать)их местоположение. Если мультивыборка включена и ее буфер присутствует, то точки, линии и многоугольники «генерируют» фрагменты, для которых выполняется сглаживание, Например, примитив точки большого размера округляется, а не выглядит как квадрат; вне зависимости от того, включен или выключен режим ОЕ Р01МТ 5ИООТН.

Состояния ОЕ Е1НЕ 5ИООТН и ОЕ РОЕУООМ 5ИООТН также игнорируются. Другие атрибуты примитивов, такие как размер точки и толщина линии, множественной выборкой не блокируются. Сглаживание 223 км, где альфа-значения для фрагментов участвуют в расчете покрытия. Ниже пе(хчислены эти режимы: ° 61 5АИРСЕ АСРНА ТО СОЧЕкАОЕ использует значение альфа-компонента фрагмента для вычисления зоны покрытия; ° 61 5АИРСЕ АСРНА ТО ОНЕ устанавливаетзначениеальфа-компонентафрагмента в гяаксилтальио возможное значение — единицу и использует это значение при вычислении покрытия; к 6С 5АИРСЕ СОЧЕНАОŠ— набор значений, установленных функцией В15аар1еСочегайе(), комбинируется (операцией И) с вычисленным значением покрытия.

Кроме того, этот режим может быть «инвертирован» посредством установки признака (претт в функции я15амр1еСочегаке О. то1г) В15ашр1еСотегабе(О!.с(ашрЕ ра1ие, 01Ъоо!еап (тегс); устанавливает значения параметров, влияющих на интерпретацию значений ильфа-компонента при вычислении покрытия мультивыборки. Аргумент оа1ие— значение покрьпия, используемое, если включен режим 61 5АИРСЕ СОЧЕРАОЕ яли 61 АСРНА ТО СОЧЕНА6Е. Аргумент 1лрегт — значение логического типа, определяющее, должно ли промежуточное значение покрытия оа1ие быть поразрядно инвертировано (логическое И). Сглаживание границ многоугольников Устранение ступенчатости ребер закрашенных многоугольников аналогично спаживанию точек и линий. Если многоугольники имеют общие границы, необюднмо смешать соответствующие значения цветов.

Это можно сделать методом, предлагаемгяги в данном разделе; другой вариант — сглаживание всей сцены с покощью буфера накопления. Работа с буфером накопления (см. главу 10) проще стояки зрения программиста, но требует большего объема вычислений и поэтому ммедляет рисование. С другой стороны, как вы дальше увидите, описываемый к«год более громоздкий. ПРИМЕЧАНИЕ Само собой, сглаживание точек нлн линий выполняется, если многоугольник рисуется в виде точек его вершин нлн ранки, то есть включен режим 6С Р01НТ нлн 6С ЫЧЕ в функции р!Ро!уропМоае0.

Цель .-того раздела — показать сглаживание ниенна закрашенного многоугольника (режим 6С Р)СС). Тюретически сглаживание многоугольника можно выполнять и в режиме КОВА, к в режиме индексации цвета. Однако пересечение многоугольников влияет на сглаживание больше, чем совпадение точек и пересечение линий, поэтому поряюк рисования и точность смешивания становятся более критичными. Фактичеаш они настолько критичны, что при устранении ступенчатости для более чем одного многоугольника необходимо упорядочить многоугольники от ближнего кдзльнему, а затем использовать функцию В1В1епбрцпс() со значениями аргументов 61 5кС АСРНА 5АТЦРАТЕ для источника и 61 ОНЕ для получателя. Соотмтственно, устранение ступенчатости многоугольников в режиме индексации кзота обычно не используется. 224 Глава б ° Смешивание, сглаживание, туман и отклонение Чтобы выровнять цвет границ многоугольников в режиме ВОВА, а значит, определить степень покрытия для границ многоугольника, нужно использовать значения альфа-компонента.

Включение сглаживания многоугольника выполняется командой я1Епао1е(6Е РОЕУ60Н 5НООТН). Тогда пикселам на границах многоугольника будут присваиваться дробные значения альфа-компонента, основанные на зоне покрытия, как если бы эти границы были просто сглаженными линиями. Также, по желанию, можно задать значение для 6Е РОЕУ60Н 5НООТН Н1МТ. Теперь необходимо «смешать» накладываюшиеся границы.

Вначале выключим буфер глубины, так как требуется управлять рисопанием пикселов, совпадающих по положению. Затем установим коэффициенты смешивания в значения 6Е 5ДЕ АЕРНА 5АТОДАТЕ (для источника) и 66 ОНЕ (для получателя). Мы хотим составить конечный цвет из цвета получателя и масштабированного цвета источника. Масштабирование осуществляется путем выбора наименьшего из входных значений альфа-компонента источника и вычтенного из единицы значения альфа-компонента получателя. Входящие пикселы получателя с большим значением альфа-компонента оказывают малое влияние на результирующий цвет, поскольку значение «1 минус альфа» близко к нулю. В итоге с помощью этого метода пикселы на границах многоугольника должны измениться в соответствии с цветами ппкселов другого многоугольника, рисуемого позже.

Наконец, нужно отсортировать многоугольники в сцене в порядке от ближнего к дальнему, перед их рисованием. Туман Компьютерные изображения иногда кажутся нереалистично четкими и ярко выраженными. Устранение ступенчатости делает объекты более реалистичными за счет размытия их границ. Крогае того, изображение можно приблизить к реальности посредством добавления тумана, который заставляет объекты постепенно «растворяться» при удалении. «Туман» вЂ” это общий термин, описывающий различные формы атмосферных явлений.

Он может употребляться при моделировании дымки, мглы, смога или загрязнения воздуха (см. цветной рисунок 9). Туман необходим в приложениях, где требуется создать ограниченную видимость. Он часто используется в авиасимуляторах. Когда туман включен, объекты, располагаюгциеся вдали от точки обзора, начинают растворяться в цвете тумана. Можно управлять плотностью тумана, которая определяет степень таяния объектов при увеличении расстояния, и его цветом. Кроме того, можно явно определять координаты на основе вершин для вычисления расстояния тумана вместо автоматического вычисления значения глубины. Туман поддерживается как в режиме КСВА, так и в режиме индексации цвета, с некоторой разницей в вычислениях.

Так как туман применяется после матричных преобразований, освещения и текстурирования, он оказывает действие на преобразованные, освещенные и текстурированные объекты. Обратите внимание, что туман способен увеличить производительность больших программ моделирования, поскольку можно не рисовать объекты, скрытые им. Туман 225 ]]се виды геометрических примитивов могут быть затуманены, включая точки и внии. Использование тумана для точек и линий также называется воздушной аерспекгпивой (с]ерС]с-сц[пй) (как показано на цветном рисунке 2).

Этот эффект входит применение в молекулярном моделировании и других приложениях. Применение тумана Моделировать туман чрезвычайно просто. Он включается с помощью команды 1[[раб!е (СС ГОС), а затем с помощью функции к! Рок* () задаются цвет и выраксйне, управляющее плотностью тумана. При желании можно задействовать значение 61 Г06 Н1МТ в функции К! Н ! и! (), как описывалось в табл.

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

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

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