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

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

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

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

При желании в холе мультитекстурирования задавать координаты текстуры в массивах вершин явно укажите командой к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МЕ ЙОВ. Если значение рпате равно 6С ОРЕРАМРЕ РОВ, значение рахат должно быть одним из 6С 5РС СОСОК, 6С ОМЕ М1М05 5РС СОСОК, 61 5РС АСРНА или 6С ОМЕ И1М05 5РС АСРНА; о Аналогично, 6Е ОРЕРАМОЕ АСРНА сравнивается с соответствующим 61 500ЙСЕЕ АСРНА и определяет альфа-значения для текущей функции 6С СОМВТМЕ АСРНА.

Здесь аргумент рахат ограничен выбором между 6С 5РС АЕРНА и 61. ОМЕ И1М05 5ЙС АСРНА. Когда для функции 61 СОИВ1МЕ РОВ используется режим 6С 5РС АСРНА, значения альфа-компонента источника интерпретируются как КСВ-значения. В лисшиге 9.15 заданы три компонента (К, Сп В) для Агя2: 10.4, 0.4, ОА). Листинг 9.1Б. Использование значений альфа-компонента Епя операций Й6В-комбинирования 1(ас(с Ос(1оас сопессо1ог(4) = (6.1, 8.2, 0.3, 0.4); 11техЕпч(ч(6с ТЕХТОЙЕ ЕМЧ, Ос ТЕХТОЙЕ ЕМЧ СОсОЙ, сопессо1ог); 11техЕпч((6Е ТЕХТОРЕ ЕМЧ, Ос 500ЙСЕ2 Й6В, Ос Сой5ТАМТ); 11техЕпч((6с ТЕХТОЙЕ ЕМЧ, 6С ОРЕЙАМО2 ЙОВ, 6( 5ЙС АСРНА); 378 Глава 9 ° Наложение текстур В листинге 9.15, если имесошийся операнд заменить на 6С 5ЙС СОСОЙ, КСВ-значения будут такими: (0.1, 0.2, 0.3). Для режимов бс ОМЕ Н1М05' значения образуют дополнения (то есть 1 — цвет или 1 — «альфая), используемые при вычислениях.

Если же этот операнд заменить на бс ОМЕ Н1М05 5йС СОСОЙ, КОВ-компоненты станут следующими: (0.9; 0.8; 0.7). Для случая бс ОМЕ Н1М05 5ЙС АЕРНА результат — (0.6, 0.6, 0.6). ° Факультативно выберите факторы масштабирования значений КСВ- или альфа-компонента. По умолчанию это 81техЕпчт(6( ТЕХТЧЙЕ ЕМЧ, 6С ЙОВ 5САСЕ, 1.0); В]техепчт(6( ТЕХТвйЕ ЕМЧ, 6( АСРЙА 5САСЕ, 1.0); ° В последнюю очередь нарисуйте геометрические объекты, тем самым обеспечив вершины, связываемые с координатами текстур.

Интерполирук)щие функции комбинирования Интерполирующие функции помогают иллюстрировать комбинирование текстур, поскольку они используют максимальное количество аргументов, несколько источников и режимов операндов. Листинг 9.16 является частью простой программы сою01пег.с. Листинг 9.16. Интерполирующне функции комбинирования: сошЬ]пег.с /* дпя использования константного цвета текстуры '/ зсастс бс(1оас сопзссо1ог[4] = (0.8, 0.0, 0.8, 8.8): сопьСС010Г[3] = 0.2; В(техЕпчтч(6( ТЕХтвйЕ ЕМЧ, 6С тЕХтвйЕ ЕМЧ СОСОЙ, сопзгсо[ог); 81втпбтехтыге(6( ТЕХТВЙЕ 20, Сехнаюе[8]); 81техЕпчт(6С ТЕХТВЙЕ ЕМЧ, 6( ТЕХТ0ЙЕ ЕМЧ М00Е, 6( СОНВ1МЕ); 81ТехЕпчт(6( ТЕХТ0ЙЕ ЕМЧ, 6( СОНВ1МЕ Й68, 6( !МТЕЙРОСАТЕ); 81техЕпчт(6( ТЕХТВЙЕ ЕМЧ, 6( 500ЙСЕВ йбВ, 6С ТЕХТВЙЕ); 81техбпч((6( ТЕХТВЙЕ ЕМЧ, 6( ОРЕЙАМ00 йбВ, 6( 5ЙС СО(ОЙ); 81техЕпчт(6( ТЕХТЧЙЕ ЕМЧ, 6( 500ЙСЕ1 Й68, 6( РЙЕЧ1005); 81техЕпчт(6( ТЕХТОЙЕ ЕМЧ, 6С ОРЕЙАМ01 йбВ, 6( 5ЙС СО(ОЙ); 81техепч((6( ТЕХТ0ЙЕ ЕМЧ, 6( 500ЙСЕ2 йбВ, 6( СОМ5ТАМТ); 81техЕпчт(6( ТЕХТВЙЕ ЕМЧ, 6( ОРЕЙАМ02 Й68, 6С 5ЙС АСРНА); /* здесь рисуются геометрические объекты '/ В листинге 9.16 имеется только один активный модуль текстуры.

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

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

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