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

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

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

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

чо!<( я1нц11<техсоогб(1234) (з! тб)(С(.епнт тех(<п(Г, ТУРЕ соопЬ); чо!г1 я1И011<техсоогб(1234) (з! Тб) ч(С(.спит (ех(<п(Г, ТУРЕ 'соопЬ); Устанавливает данные координат текстур (А А г, д) из массива соопЬ для использования с модулем текстуры Гех(гп(Г. Значения тех(<лг( (нумерованные) указываются так же, как и для я1Аст! Уетехтцге (). В листинге 9.11 треугольнику придаются два набора координат текстур, необхо- димых для мультитекстурирования с помощью двух модулей текстур. Листинг 9.11. Задание вершин для мультитексзурирования 1<вез<я<61 Та1АНОСЕ5); 11ЯУ11<техСоогбгт<61 ТЕХТОЯЕО, 9.0, О.О); 11ии11<ТехСоогб2! <61 ТЕХТОяЕ1, 1.0, 0.0); 11Чегтехгт<О.О, 9.О); 1<япгт<техгоогбгт<61 ТЕХТОаЕ9, 9.5, 1.91; 11ни11<техсоогбгт<61 ТЕХТОяЕ1, 9,5, 9.0); 11уегСехгт<59.9, 199.0); 1!КУ11<техСоогб2<<61 ТЕХТОКЕ9, 1.9, 9.91; 11КУ11!ТехСоогб2<<61 ТЕХТОКЕ1, 1.9, 1.9); 11Уегсехгт<199.9, 0.0); 11Епб<) ! ПРИМЕЧАНИЕ используя команду д<техсоогб*О, вы задаете координаты текстуры для первого модуля.

Другини оювами, использование д<ТехСоогбе() эквивалентно использованию д<мц!Отехсоогбп(Я, ТЕХТОРЕО,...). Вредких случаях, когда вы подвергаете мультитекстурированию битовый образ взи прямоугольник растрового изображения, вам нужно связать несколько коор1инат текстур с каждой растровой позицией. Следовательно, вы должны вызвать команду я1м 01 с ! техсоо гб*() несколько раз, для каждого активного модуля тек- 374 Глава 9 ° Наложение текстур стуры, для каждого вызова Е1йазсегРоэь() или к1И!плоыРов*().

(Поскольку подразумевается только одна текущая позиция растра для всего битового образа или растрового изображения, то есть только одна соответствующая координата текстуры па модуль, так что с точки зрения эстетики здесь все крайне запущено.) Другие методы задания координат текстур Явный вызов к1МО11! ТехСоого* () — лишь один из трех способов задания координат текстур при мультитекстурировании.

Другие два способа предполагатот автоматическую генерацию координат текстур (я1Техбепь() ) или хранение их в массивах вершин (к1ТехсоогОРо! птег() ). Если вы хотите привлечь автоматическую генерацию координат, тогда нужно командой к1Асс! четехтоге() явно указать, на какой модуль буду~ воздействовать следующие подпрограммы для автоматической генерации координат; ° к1Тех6еп* (... ); ° к1Епаь)е(6( ТЕХТОкЕ 6ЕМ *); ° к10тзаь)е(6С ТЕХТОкЕ 6ЕМ *). При желании в холе мультитекстурирования задавать координаты текстуры в массивах вершин явно укажите командой к161! еп(Ас1(чеТехтиге() модуль текстуры, для которого команда к1техсоогс(ро! птег () будет задавать данные координат текстур. чотт) я161! ептлс(! четехС О ге(С) еппш ГехУтГ); Устанавливает текущий модуль текстуры для задания данных координат текстур в массивах вершин. Аргумент тех(/лтг — это символическая константа в виде 6с ТЕХТОкЕ(, аналогичная подобному аргументу к!Асс!четех1мге().

Возвращаясь к одному модулю текстуры Если вы используете мультитекстурирование и хотите работать с отдельным модулем текстуры, вам нужно отключить текстурирование для всех модулей, за исключением модуля О, как это показано в листинге 9.12. Листинг 9.12. Использование при мультитекстурировании лишь одного модуля О /* отключает текстурирование для всех остальных модулей текстуры "/ Х1Асттчетехтоге (6ь ТЕХТОйЕ1); Х)О(яаще (6Ь ТЕХТОаЕ 2О); Х1Аст(четехтиге (6( ТЕХТОКЕ2); Х1этваще (бс ТЕХТОйЕ 20]: /' делает модуль О текущим "/ Х1дсттчетехтчге (6с ТЕХТОйЕ8); Комбинирование функций текстур Орепб) эволюционирует, и если раньше система фокусировалась на обработке вершин (преобразование, отсечение), то теперь больше внимания уделяется растеризации и операциям над фрагментами.

Текстурирование также функционально совершенствуется в направлении обработки фрагментов. Комбинирование функций текстур 375 3 добавление к многопроходным техникам наложения текстур программистам иредоставляются гибкие функции комбинирования текстур с полным контролем иид смешиванием фрагментов с текстурами и другими значениями цвета. Функиии комбинирования подразумевают получение эффектов высокой реалистичности, таких как «выдавливание» рельефа (Ьшпр шарр(пй), более реалистичное зериильное освещение и обесцвечивание текстур (например, интерполяцией между изумя текстурами).

Функции комбинирования берут данные цвета и альфа-канаии из трех источников и затем нх обрабатывают, результатом чего являются ПВВА-значения. Команда и1ТехЕпч* () повсеместно используется для настройки функций комбипирования. В разделе «Функции текстур» вы уже сталкивалнсь с кратким описаиием и1ТехЕпч* (), и теперь настало время раскрыть подробности. чочз и1ТехЕпч(1()(СЕепцш гагйеб С1.епшп рпате, ТУРЕрагат); чо(о В1ТехЕпч(1()ч(СЕепшп Гагйед СЕепцш рпате, ТУРЕ 'рахат); Устанавливает текущую функцию текстурирования. Аргумент сагйег выбирается нз двух значений: 6С ТЕХТОЙЕ Е1СТЕН СОМТМОС и 6( ТЕХТОИЕ ЕМН.

Если это 6С ТЕХТОИЕ Е1СТЕР СОМТНОС, аргументрпате должен быть установлен в значение 6( ТЕХТОРЕ (00 В1А5, а рахат должен быть отдельным значением с плавающей запятой, используемым для внесения поправки (Ь)аз) к параметру уровня детализации М1р-отображения. Если значением (аде( является 6( ТЕХТОВЕ ЕМЧ, допустимые значения для второго и третьего аргументов (рпате и рахат) см. в табл. 9.8. Когда значение рпате равно 6( ТЕХТОМЕ ЕМЧ НООЕ, аргумент рахат отвечает за то, как значения текстур комбинируются со значениями цвета обрабатываемого фрагмента. Несколько режимов окружения (6( ВСЕМВ, 6С СОНВ1МЕ, 6С СОНВ1МЕ НОВ и 6С СОНВ1МЕ АСРНА) определяют, полезны ли другие режимы окружения.

Если режим окружения текстуры — 6С ВСЕМВ, используются настройки 6С ТЕХТОРЕ ЕМН СО(ОН. Если этот режим — 6С СОНВ1М Е, также используются параметры 6( СОНВ1М Е Ибв, 6С СОНВ1МЕ ЯСРНА, 6С НОВ 5САСЕ или 6( АСРНА 5САСЕ. Для функции 6( СОНВ1МЕ НОВ также могут быть указаны параметры 6С 500МСЕ( НОВ и 6С ОРЕНАМ01 ИОВ (где 1 — О, 1 нли 2), Аналогично могут указываться параметры 6( 500ЙСЕ1 А(РНА и 6С ОРЕкАМО( АСРНА для функции 6С СОНВ1МЕ АСРНА.

Ниже приведен порядок действий по применению функций комбинирования. При мультитекстурировании вы вправе использовать различные функции для пждого модуля текстуры и повторить эти действия для каждого модуля. ° Чтобы использовать любую функцию комбинирования, вы должны вызвать И!ТехЕпчт(6( ТЕХТИИЕ ЕМЧ, 6( ТЕХТОИЕ ЕЙН НООЕ, бс СОИВ1МЕ); ю Вы должны указать, как вы хотите комбинировать ЙСВ- или альфа-значения (см.

табл. 9.9). Например, в листинге 9.13 для вычитания ВСВ- н альфа-значений одного источника из другого запействуется текущий модуль текстуры. 376 Глава 9 ° Наложение текстур Таблица 9.8. Параметры текстуры, если значением аргумента Гагдег является Я,ТЕХТОКЕ ЕИЧ Аргумент рпагпе команды д(техЕпч Аргумент рагагп команды д(ТехЕпч 6С ОесАООС кеРСАсе,бс ИОООСАте,бс Всеи0, 61 АОО или 6С СОМВ1ИЕ Массив из четырех чисел с плавающей запятой: (К,6, В,А) 6С КЕРСАСЕ,ОС МОООСАТЕ,ОС А00,6С АОО 516ИЕО, 6! 1ИТЕКРОСАТЕ, 6С 5ОВТКАСТ, 6С ООТЗ КОВ или 6С ООТЗ ВОВА 6С КЕРСАСЕ,ОС МООО(АТЕ,ОС АОО,ОС АОО 516ИЕО, 6С 1ИТЕКРОСАТЕ или 6С 5ОВТКАСТ 6С ТЕХТОКЕ, 6С ТЕХТОКЕп (где и обозначает и-й модуль текстуры и включено мультитекстурирование), 6С СОИ5ТАИТ, 6С РК1МАКу СОСОК или 6С РКЕу1005 61 5КС СОСОК,ОС ОИЕ М1ИО5 ВКС СОСОК, 6С ВКС АСРНА или 6С ОНЕ М1ИО5 5КС АСРНА 6С 5КС АСРНА или С ОИЕ М1ИО5 5КС АСРНА Фактор масштабированив цвета в формате с плавающей запятой Фактор масштабирования альфа-компонента в формате с плавающей запятой 6С ТЕХТОКЕ ЕИУ МООЕ 6С ТЕХТОКЕ ЕИН СОСОК 6С СОМВ1ИЕ КОВ 6С СОМВ1ИЕ АСРНА 6С 5ООКСЕг' КОВ или 6С 50ОКСЕг' АСРНА (где г' — 0,1или 2) 6С ОРЕКАИОг' КОВ (где г' — О, 1 или 2) 6С ОРЕКАИОг АСРНА (где г' — О, 1 или 2) 6С КОВ 5САСЕ 6С АСРНА 5САСЕ Листинг 9.13.

Настройки функций комбинирования 51техепчт<6С ТЕХТОКЕ ЕНЧ, 6С СОНВ1ИЕ КОВ, 6С 5ОВТКАСТ>; Вттехспчт<ОС тЕХтВКЕ ЕНЧ, 6С СОНВЗИЕ АСРНА, 6С 5НВТКАСт); Таблица 9.9. Функции 6С СОМВ!ИЕ КОВ и 6С СОМВ1ИЕ АСРНА Аргумент рагагп команды д(техбпч Функция комбинирования Агдо Агдо х Агд1 Агдо+ Агд1 Агдо+ Агд1 — 0,5 Агдо х Агд2+ Агд1 х (1 — Агд2) Агдо — Агд1 С х ((Агдо, — 0,5) х (Агд1, — 0,5) + (Агдо - 0,5) х (Агд 1г — 0,5) + (Агдоь — 0,5) х (Агд1ь — 0,5)) 6С КЕРСАСЕ 61 МОООСАТЕ (по умолчанию) 6С АОО 6С АОО 516ИЕО 6С 1ИТЕКРОСАТЕ 6С ВОВТКАСТ 61 ООТЗ КОВОС ООТЗ ВОВА ПРИМЕЧАНИЕ Параметры 6С ООТЗ КОВ и 61 ООТЗ НОВА используются только 6С СОМВ!ИЕ КОВ и не используются для 6С СОМВ1ИЕ ЯСРНА.

Режимы 6С ООТЗ КОВ и 6С ООТЗ К6ВА различаются немногим. При использова- нии 6С ООТЗ К6В одно и то же скалярное произведение присваивается всем трем компонентам (зз, С, В). Для 6С ООТЗ НОВА результат помещается в четыре ком- понента (Н, С, В, А). комбинирование функций текстур 377 ° Задайте источник для 1-го аргумента функции комбинирования с константой 6С 500РСЕ( ЙОВ. Количество аргументов (до трех) зависит от типа выбранной функции. Как показано в табл. 9.9, режим 6с 50ВТРАСТ требует двух аргументов, которые могут быть установлены кодом из листинга 9.14. Листинг 9.14. Настройка источников функции комбинирования 1)техепч((ОС ТЕХТОЙЕ Ейу, ОС 5ООЙСЕО ЙОВ, ОС ТЕХТОЙЕ); 111ехЕпч((6с ТЕХТОЙЕ ЕМЧ, Ос 500ЙСЕ1 ЙОВ, 6'с РЙЕЧ!005); ° Если значение рпате равно 6Е 500ЙСЕ1 Р6В, источник определяется следующими значениями аргумента рогат; о 61 ТЕХТОРŠ— источник для 1-го аргумента — текстура из текущего модуля текстуры; о 61 ТЕХТОРЕп — текстура, связанная с модулем текстуры л (если вы используете этот источник, модуль текстуры и должен быть включен и действителен, иначе результат будет неопределен); о 61 СОМ5ТАМТ вЂ” постоянный цвет, установленный 6С ТЕХТОЙЕ ЕМЧ СОСОК; о 61 РЙ1ИАРЧ СОСОК вЂ” входящий фрагмент для модуля текстуры О, это цвет ранее текстурированного фрагмента; о 61 РРЕЧ1005 — входящий фрагмент из предыдущего модуля текстуры (для модуля О это то же, что 61 РР1ИАРУ СОСОК).

В предположении, что код в листинге 9.14 устанавливает для модуля текстуры 2 Режим 6С 50ВТРАСТ, выходные данные для модуля 1 (6С РРЕЧ1005, А)ЙТ) вычитаются из данных модуля 2 16С ТЕХТОРЕ, АгяО). ° Укажите, какие значения 1КСВ или альфа-компонента) источника используются и как они используются: о 61 ОРЕЙАМО( Р6В сравнивается с соответствующим 6С 500РСЕЕ РОВ и определяет значения цвета для текущей функции 6С СОИВ1МЕ ЙОВ.

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

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

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

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