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

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

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

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

9А; к 1' — значение для поступившего на обработку фрагмента; ° с — значения, связанные с 6С ТЕХТОМЕ ЕМЧ СОСОй; >а- ен пе- пе- ° отсутствие нижнего индекса — конечное вычисленное значение. В зтих таблицах под умножением триплета цветов на скалярные значения пони- юется умножение каждого нз КСВ-компонентов на скалярную величину; пере- кпожение (или сложение) двух цветов из триады означает умножение (сло- жение) каждого компонента второй тройки на (с) соответствуюший компонент первой. да 00 )азуп ой Тпблица 9.5. Функции текстур, предназначенные для замещения, модуляции и техники деколи Основной внутренний 6С МЕРСАСЕ 6С М000САТЕ 6С ВЕСАС Впрмат би- ур юта, ли Вы гы за ия ие ри >ю Я 6( АСРНА 61 ШМ!МАМСЕ 61 ШМ1МАМСЕ АСРНА 61 !МТЕМ5!ТУ 6! 06В 61 060А 61 АСРНА 6 ШМ1МАМСЕ 61 ШМ1МАМСЕ АСРНА В.

1МТЕМ51ТУ й 060 61 ИОВА (О, О, О, А) ($ 0 1, 1) (1,0 СА) (1, 1, 1, 1) (й, 6, В, 1) (й,6, В, А) С СНА-А, С-С„А-А, С Сн А А, С СдА-С, С=С„А-А, С-С„А=А, С - С,; А = А,А, С - С, С,„ А - А, С СуС„А Ау А, С-С,С„А-А,С, С-С,С„А-А, С-С С„А-А А, Не определено Не определено Не определено Не определено С С„А А С С (1-А)чС,А„А А 354 Глава 9 ° Наложение текстур Таблица 9.6.

Алдитиеная функция и функция для смешивания 61 АОО Основной внутренний формат 6С ВСЕЙО С-С;, А-А/А, С С/»С„А=А/ С-С/»С„А-А/А, С С/+С„'А А/+А, С С/,' А А/Ая с/(Т-с,)+с,сд А-А/ с-с,(т-с)+с,си А-А,А, с-с,(1-с)+с,сд А А/(1 — А,) + А, А, с с (1-С)+с,си А А с с/(1 — с,) + с, ск А А/А, 66 АСРНА 6С СОИ1ЙАЙСЕ 6С СОИ1ЙАЙСЕ АСРНА 6 1ЙТЕЙ51ТУ С-С,+С„А-А, С-С,+С„А=А,А, 6С В6В 6С Д6ВА Функция деколи (с(еса1) напоминает случай замещения с той разницей, что она работает только для внутренних форматов КбВ и КСВА и обрабатывает альфа- компонент иначе.

В варианте с КСВА цвета фрагментов смешиваются с цветом текстуры в пропорции, определяемой альфа-компонентом текстуры, а альфа- компонент фрагментов не изменяется, Данная функция может быть использована для взвешенной по альфа-каналу текстуры, такой как эмблема на крыле самолета. При модуляции цвета фрагментов модулируются содержимым текстуры. Если в качестве базового внутреннего формата выбран 6С СоН1ЙАЙСЕ, 6С СЦН1ЙАЙСЕ АСРНА или 6С 1ЙТЕЙ51Ту, значения цвета умножаются на некоторое значение, так что карта текстуры выводит производную по определенному закону от значения цвета фрагмента (если яркость или интенсивность равна 1) до черного (если это 0).

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

Белые, «зер. кальные» многоугольники часто используются для воспроизведения освещеннык текстурированных объектов, а изображение текстуры обеспечивает рассеивание цвета. Аддитивная функция просто складывает цвет текстуры с цветом фрагмента. Если это значение альфа-компонента, оно умножается на значение альфа-компоненте фрагмента, кроме случая формата 6С 1ЙТЕЙ51ТУ, где складываются интенсив.

ность текстуры и значение альфа-канала фрагмента. Если не отнестись со всеи вниманием к выбору такой функции, можно получить в результате пересыщевные или неправильные тона. Функция с замещением просто берет цвет, который был бы использован для окраски в отсутствие какого-либо наложения текстур (цвет фрагмента), попросту отбрасывает его и замещает цветом текстуры. Вы используете функцию замещения в ситуациях, когда к объекту нужно применить непрозрачную текстуру — например, при рисовании объекта с непрозрачной этикеткой.

Присвоение координат текаур 355 Функция смешивания единственная из всех использует цвет, заданный параметцом 6( ТЕХТОРЕ ЕИЧ СОСОК. Использование значения яркости, интенсивности или цвета отчасти напоминает использование значения альфа-компонента для смешивцния цвета фрагмента с 6( ТЕХТокЕ ЕМЧ СОСОи. (См. «Пример смешивания» в главе 6, демонстрирующий технику билбординга (Ь|11Ьоагг(1пй).) Пособие по текстурам от Нэйта Робинса Если вы загрузили пакет программ самоучителя Нэйта Робинса, запустите пособие по текстурам.

Изменяйте атрибуты среды наложения текстур и смотрите на цффект, производимый различными функциями текстур, Когда дело дойдет до »( ИОРОСАТЕ, обратите внимание на эффект для цвета, указанного 61со1ог4( (). Экспериментируя с 6С ВСЕМВ, смотрите, что получится при изменении цвета, заццваемого массивом еио со1ог.

Присвоение координат текстур Отображая свою сцену с наложением текстур, вы должны подготовить координаты объекта и координаты текстур для каждой вершины. После преобразования ццординаты объекта определяют местоположение вершин на экране. Координаты шкстуры отвечают за то, какой тексел в карте текстуры будет связан с каждой мршиной. Подобным образом происходит интерполяция цвета межлу двумя вершинами тонированного многоугольника или линии, и также интерполируются юординаты текстуры. (Вспомните, что текстура — это обычный прямоугольный ццссив данных.) Координаты текстуры могут вмещать в себя одну, две, три или четыре координаш. Обращение к ним производится обычно как к з-, гъ г- и ц-координатам с цецьп их различения от координат объекта (х, у, г и гв) и параметрических коордиццт (и и гл см.

главу 12). Для одномерных текстур вы используете з-координату; вш двухмерных — з и й а для трехмерных — ж ( и г. Координата д, подобная ге, цбычно задается значением 1 и может быть использована для получения одно)вциых координат; это описано в разделе «Координата д». Команла ц1 тех С со ге * (), мцшощая координаты текстуры, аналогична 61Чегсех«(), к1со(ог*О и 11когва1* Π— все эти разновидности команд используются одинаково между 11веццо () и к1Е ос () . Обычно диапазон значений координат текстур ограничен О ц1; тем не менее возможны и выходящие за этот диапазон значения, как это опиано в разделе «Повторяемые и обрезанные текстуры». тоЫ В)техсооге(12341(з1(г))(ТУРЕ сооп6); тоЫ ц1техсоогг)(123«)(э1И)«(ТУРЕ «соог«Ь); Устанавливает координаты текущей текстуры (з, г, г, д). При последу|ощих вызовах ц1Че ггех* () вершины будут связаны с координатами текстуры.

Команда 61ТехСоогп1*() устанавливает значение зкоординатьь Г и г сбрасываются в О, а о устанавливается единицей. С помощью команды к1техсоогО2 «() вы задаете з и г; г и д устанавливаются в О и 1 соответственно. Команда ц1ТехсоогОЗ" () устанавливает г) в 1, а остальные инициируются согласно за- 356 Глава 9 ° Наложение текстур паиным значениям. Задать явно все координаты сразу позволяет команда 61техСоогп4' (). Используйте соответствующий суффикс (з, 1, Г или о) и значение типа тУРе(66эьог т, 661 от, 61(1оак или 61ооив(е) для уточнения типа ланных координат.

Вы можете подготовить все координаты по отдельности, а можете и использовать векторную версию команды, чтобы сделать это из одного массива. Координаты текстуры умножаются на 4 х 4 матрицу текстуры перед тем, как будет выполнено наложение текстур. (См, раздел «Стек матриц текстур».) Обратите внимание, что целочисленные координаты текстуры интерпретируются непосредственно, а не проецируются в диапазон (-1, 1]. В следующем разделе объясняется, как рассчитать соответствующие координаты текстур. Вместо явного их присвоения вами, можно воспользоваться средствами ОрепОБ для автоматического их вычисления. (См. раздел «Автоматическая генерация координат текстуры) Пособие по текстурам от Найта Робинса При наличии у вас самоучителя Нэйта Робинса запустите пособие по текстурам и экспериментируйте с параметрами ~1техСоогс(2(О для четырех различных вершин. Посмотрите, как можно наложить часть полной текстуры.

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

Для простоты предположим, что кирпичная стена имеет квадратную форму и текстура тоже квадратная, и вы желаете наложить всю текстуру на всю стену. Координаты текстуры — (О, 0), (1, 0), (1, 1) и (О, 1) обходятся против часовой стрелки. Рисуя стену, просто задайте зти координаты как координаты текстуры, когда указываете координаты вершин стены, в порядке против часовой стрелки.

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

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

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