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

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

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

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

Для близких к краевым координатам текстуры в массив 2 х 2 тексела могут быть выбраны текселы как с границы, так и из внутренней области текстуры. Если вы используете ограничивание, вам следует избегать краевых эффектов при юаимодействии текстуры и поверхности. Для этого используйте значения альфа- компонента 0 для краев (или границ, если они заданы) текстуры. Функция деколи непосредственно использует значения альфа-компонента текстуры в своих вычислениях. Если вы используете несколько функций текстур, может потребоваться также включить смешивание с подобающими факторами влияния для источника и приемника. (См. раздел «Смешивание» главы 6.) Чтобы увидеть эффект от обработки границ, вам следует рискнуть и задать координаты вне диапазона 10.0, 1.01.

Для начала возьмите пример из листинга 9.1 и измените координаты текстуры для квадратов с 0.0 на 4.0, как это сделано ниже: 11зеВ(п(6С ООА05); В1ТехСоогб2Е(8.8, 0.0); В1Неггех3Е(-2.8, -1.8, 0.0); В1ТехСоогб2Е(0.0. 4.0): В1ЧеггехЗЕ(-2.0, 1.8, 0.0); В1ТехСоогб2Е(4.0, 4.0); В1уегсех)Е(8.8, 1.9, 0.0); В1ТехСоогб2Е(4.0, 9.9); В1НегсехЗЕ(8.8, -1.8, 0.8); В)техсоогб2Е(8.8, О,О>; В(уеггех3Е(1.0. -1.О, 8.9>; В1ТехСоогб2Е(0.0.

4.0); В1Чегсех)Е(1.9, 1.0, 9.9); В1ТехСоогб2Е(4.0, 4.0); В1ЧегсехЗЕ(2.41421, 1.0, -1.41421); В1ТЕХСООГб2Е(4.0, 9,0); В1ЧЕГТЕХЗЕ(2.41421, -1.0, -1.41421); 11Епб(>; Для режима 6С КЕРЕАТ результат продемонстрирован на рис. 9.10. Здесь текстура дублируется сразу в двух направлениях, 3 и 6 это делают вызовы В1Тех Ра г а не Се г'(): 11техРагавегег1(6с техтОКЕ 20, 6с тЕХтцкЕ ИААР 5, 6( кЕРЕАТ); 11ТехРагаиегег((6С ТЕХТОКЕ 20, 61 ТЕХТОКЕ ИКАР Т, 61 КЕРЕАТ); Некоторые реализации Орепб).

поддерживают режим 6С М1ККОКЕО КЕРЕАТ, обращающий ориентацию целочисленных коорлинат текстур. На рис. 9.11 показана разница между обыкновенным размножением с переносом (слева на рисунке) и зеркальным повторением (справа). Рис. 9.11. Режим 61 КЕРЕАТ в сравнении с 66 М1ККОКЕО КЕРЕАТ Рис. 9.10. Повторение текстуры На рис. 9.12 продемонстрировано действие режима 6С ССАМР в применении к обо- им направлениям. В местах, где координата 3 или г болыпе единицы, используется тексел, взятый оттуда, где значение координаты текстуры в точности равно 1. 360 Глава 9 ° Наложение текпур Рис.

9.12. Ограничивание текстуры Режимы обработки границ по каждому направлению независимы. Вы вправе так- же применить ограничение в одном измерении и повторение для другого, как по- казано на рис. 9.13. Рис. 9.13. Размножение текстуры вместе с ограничиванием Теперь, после рассмотрения всех аргументов В1техрагаветег*(), суммируем все в одной подпрограмме. уо1с) 91техрагаветегЯ(С)епит гагдет, С|еппш рпате, ТУРЕ рахат)' уо1г) В1Техрагааетег(11)у(СЕепцш Гасящей С1.ещнп рпате, ТУРЕ "Рахат); Устанавливает различные параметры, управляющие обработкой текстуры, применением ее к фрагментам и сохранением в объекте текстуры.

Аргумент Гагяеувыбнрается из 6! ТЕХТОЙЕ 10,6! ТЕХТОЙЕ 20, 6! ТЕХТОЙЕ 30 или 6! ТЕХТОКЕ СОВЕ ИАР в соответствии с характером текстуры. Возможные значе. ния для аргументов рпате и рахат приведены в табл. 9.7. Вы можете задавать параметры по отдельности обычной версией команды, и в вашем распоряжении также ее векторная форма, работающая с массивом значений для случая 6! ТЕХТОЙЕ ВОйОЕЙ СОСОК. Если значения представлены целыми числами, они преобразуются в формат с плавающей запятой согласно табл.

4.1; кроме того, они ограничиваются диапазоном 10, 11 Таблица 9.7. Аргументы команды 4техРвгате1ег*() Значения Параметр 6! ССАИР,6! ССАМР ТО ЕООЕ,6! ССАМР ТО ВОЙОЕЙ,О! ЙЕРЕАТ, 6! М[КЙОЙЕО КЕРЕАТ 6! ССАМР,6! ССАИР ТО Е06Е,6! С!АМР ТО ВОКОЕй,6! КЕРЕАТ, 6! М1ККОКЕО КЕРЕАТ 6! С1АМР, 6! С!АМР ТО Е06Е, 6! ССАИР ТО ВОКОЕК, 6! КЕРЕАТ, 6! М1ККОКЕО КЕРЕАТ 6$ МЕАКЕ5Т,6! С!НЕАЙ 6! ТЕХТОКЕ )УВАР 5 6! ТЕХТОКЕ ЬУКАР Т 6! ТЕХТОЙЕ ЪУЙАР й 6! ТЕХТОКЕ МА6 ЕП.ТЕК Значения Параметр 6! ТЕХТОРЕ М)И Р1СТЕР Упражнение Рисунки 9.12 и 9.13 получены с исгюльзованием б! ИЕАРЕ5Т для фильтров уве- личения и миниатюризации.

Что же произойдет, если вы изме»гите это значение ка б! С1ИЕАР? Результирующее изображение должно выглядеть не таким рез- иим. Информация границ может потребоваться во время обсчета текстурирования. Для простейшей демонстрации этого установите б! ТЕХТОРЕ ВОРОЕР СОСОР в хорошо заметный цвет.

Установив фильтры в б! ИЕАРЕ5Т и режим обработки границ 6! ССАИР ТО ВОРОЕР, оцените эффект от цвета границы текстуры на текстурируемый объект (для диапазона координат текстуры вне [О, 1]). Граница также оказывает воздействие на текстурирование с фильтрами б! С1ИЕАй и режимом обработки границ б! ССАИР. Что теперь случится, если включить режим б! ССАИР ТО Е06Е или б! РЕРЕАТ? Для обоих случаев цвет границы игнорируется. ПОсобие по текстураи от Нэйта Робинса Запустите пособие по текстурам Нэйта Робинса и оцените влияние параметров 6! РЕРЕАТ и б! ССАИР. Для этого вам может потребоваться сделать текстурные координаты вершин (аргументы ВТТехсоо гс(2( () ) меньше 0 и/или болыпе 1.

Автоматическая генерация координат текстур Вы можете использовать наложение текстур для образования контуров своих моделей или для имитации отражения от произвольного окружения для «зеркальаой» модели. Чтобы достигнуть этого эффекта, позпольте ОрепС[. генерировать вюрдинаты текстур за вас, вместо явного их задания командой В!Техсоогв'(). Я ТЕХТОРЕ ВОРОЕй СО!Ой 61„ТЕХТОРЕ Рй!ОЙПН 6! ТЕХТОРЕ М1И СОО 6! ТЕХТОРЕ МАХ ЕОО б! ТЕХТОРЕ ВА5Е СЕНЕ! 6! ТЕХТОРЕ МАХ СЕНЕ! б! ОЕРТН ТЕХТОРЕ МОВЕ 6! ТЕХТОРЕ СОМРАРЕ МОВЕ Б! ТЕХТОРЕ СОМРАРЕ„РОЙС 6! 6ЕИЕЙАТЕ М1РМАР Автоматическая генерация координат текстур 361 б! ИЕАРЕ5Т,О! С1ИЕАР,6! ИЕАРЕ5Т М!РМАР ИЕАРЕ5Т, б! ИЕАРЕ5Т М1РМАР С1ИЕАР, б! С)ИЕАР М1РМАР ИЕАРЕ5Т, б! С1ИЕАР М1РМАР !1ИЕАР Любые четыре числа из диапазона [0,0; 1,0) [0,0; 1,0[ для текущего объекта текстуры Любое значение с плавающей запятой Любое значение с плавающей запятой Любое неотрицательное целое Любое неотрицательное целое б! СОМ!ИАИСЕ,6! 1ИТЕИ51ТУ, б! АСРНА б! ИОНЕ,6! СОМРАРЕ Р ТО ТЕХТОРЕ 6! СЕООАС б! 6ЕООА! 6! ТРОЕ, 6! ЕА!5Е 362 Глава 9 ° Наложение текпур Чтобы сгенерировать координаты текстур автоматически, используйте команду к1Тех6еп().

чоЫ ВТТех6еп(1И)(С!.епцш соог«(, 01.еппш рпате, ТУРЕ рахат). чо1о яТТех6еп(1Щч(С1 епшп сооп1, С1епц|п рпате, ТУРЕ *рахат); Задает функции для автоматической генерации координат текстур. Первый аргумент, соог 1, должен быть задан как 6 С 5, 6 С Т, 6 С Н или 6 С О согласно типу генерируемой координаты — я 6 г или х).

Значение аргумента рпате выбирается из констант 6С ТЕХТОНЕ 6Ей НООЕ, 6С ОВ)ЕСТ РСАМЕ или 6С ЕТЕ РСАМЕ. Если зто 6С ТЕХТОНЕ 6ЕМ НООЕ, аргумент рахат должен быть целым числом (или, для векторной версии команды, должен указывать на целое число), одним из следующих: 6С ОВЛЕСТ С1МЕАН, 6С ЕУЕ С1МЕАР, 6С 5РНЕНЕ НАР, 6С НЕРСЕСТ10М НАР или 6С МОННАС НАР. Эти символические имена определяют, какая функция будет использоваться для порождения координат текстур. Для других допустимых значений рпате аргумент рахат является указателем на массив значений (векторная версия), задающих параметры генерирования. Для различных областей применения используются различные методы генерации координат текстур.

Указание опорной плоскости (ге)егепсе р!апе) в координатах объекта предпочтительно тогда, когда изображение текстуры остается привязанным к движущемуся обьекту. Таким образом, константа 6С ОВ)ЕСТ С1МЕАх может быть использована для покрытия древесными прожилками площадки, Задание опорной плоскости в координатах наблюдателя (6С ЕТЕ С1МЕАН) — лучший способ для получения контуров линий подвижных объектов. Параметр 6С ЕУЕ С1МЕАН находит применение у специалистов в области геологических наук, которые занимаются нефтедобычей или газодобычей.

Так как бур проходит сквозь земную кору, могут понадобиться различные цвета для представления срезов по. роды с ростом глубины. Параметры 6С 5РНЕНЕ НАР и 6С НЕРСЕСТ10М НАР главным образом используются для наложения сферообразного окружения, а 6С МОкНАС НАР— для «кубических» карт текстур. (См. разделы «„ Сферические" карты» и «„ Кубические" текстуры»). Создание контуров Когда заданы параметры 6С ТЕХТОРЕ 6ЕМ НООЕ и 6С ОВОЕСТ С1МЕАН, функция генерации является линейной комбинацией значений вершин в координатах объекта (х„у„, г„, ю„): сгенерированная координата = р, х„+ р,у„+ р,г„«р,т..

Значения рв..., р4 передаются в аргументе рахат команде кТТехбеп«ч (), с рпате, установленным в 6С ОВ)ЕСТ РСАМЕ. С корректно нормализованными рь..,, р, зта функция выдает расстояние от вершины до плоскости. Например, если р,- .= р, = р4 = О и р, = 1, зто расстояние х = О. Оно положительно с одной стороны плоскости и отрицательно с другой, и равно нулю, когда вершина принадлежит плоскости. Автоматическая генерация координат текстур 363 В листинге 9.8 первым делом рисуются равно дистанцированные линии чайника; оня указывают расстояние от плоскости х - О. Коэффициенты для такой плоскости помещены в массив: ч!а!>с 6СЕ1оа! кечиа1гего(] = (1.9, 9.9, 0.9, 0.9); Поскольку здесь показывается только одна свойство (расстояиие от плоскости), достаточно одиомериой текстуры, Карта текстуры имеет сплошную зеленую окраску, за исключением красных меток для равноотстоящих интервалов.

Так как чайник находится в плоскости яз(, все контуры перпендикулярны их основанию, На цветном рис. 18 показана картинка, полученная этой программой. Здесь Нажатие клавиши 5 изменяет параметры плоскости отсчета иа ч!а!чс 6С(]оат я>аптоб(] = (1.0, 1.О, 1.О, О.Э>; Полосы контуров параллельны плоскости х + у + г - О, и пересекают чайник под углом, как показано иа цветном рисунке 18. Чтобы восстановить исходные зиачеввя, х = О, нажмите клавишу х. Листинг 9.8.

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

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

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

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