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

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

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

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

9.1. Третий аргумент передает значение указанного параметра. В коде ли тинга 9.6 базовый и максимальный уровни устанавливаются в значе. ния 2 и б соответственно. Так как изображение базового уровня (уровня 2) имеет Описание текстуры 341 рирешение 64 х 32 тексела, карты уровней 3, 4 и 5 должны иметь подходящие бо- зсе низкие разрешения. ие ."в. гя. м Таблица 9.1.

Параметры управления уровнями М1Р-отображения Значения Описание Параметр 6( ТЕХТОРЕ ВА5Е ЕЕЧЕЕ Уровень детализации текстуры с самым Любое неотрицательное высоким разрешением (с минимальным целое число номером) Я ТЕХТОРЕ МАХ ЕЕЧЕЕ Уровень детализации текстуры с самыи Любое неотрицательное низким разрешением (с наибольшим целое число номером) :и- ж- максимального уровней детализации М!Р- Листинг 9.6.

Задание базового и оюбражения 1!Техяагаветег((СС тЕХтОРЕ 20, 1!ТехРагаветег!(61 ТЕХТОРЕ 20, 1!Тех1вабе20(СС ТЕХТОРЕ 20, 2, 6( ОМ516МЕ0 ВУТЕ, !пабе!): 1!Тех1ваае20(6 ТЕХТОРЕ 20, 3, 6! ОМ516МЕО ВТТЕ. (ваае2); 1!Тех1вабе20(61 ТЕХТОйЕ 20, 4, 6!. ОМ516МЕО ВУТЕ, (вааез); 1!Тех!вабе20(6( ТЕХТОйЕ 20, 5, СС ОМ516МЕ0 ВТТЕ, (ваае4); 6( ТЕХТОРЕ ВА5Е (ЕЧЕС, 2); 6( ТЕХТОРЕ НАХ СЕЧЕ(, 5): СС йСВА, 64, 32, В, 61 й6ВА. ( тя 6( РСВА, 32, 16, В, Сс йСВА, 6( РСВА, 16. В, В, 6( Р6ВА, СС йСВА, В, 4, О, СС РСВА, ГО то ра Позднее вы можете решить добавить другие карты, как низкого, так и высокого разрешения. Например, вы можете добавить в этот набор текстуру 128 х 64 тексела с уровнем 1, при этом нужно будет переустановить значение параметра ВА5Е ЕЕЧЕЕ.

И. 30 а- а1У ПРИМЕЧАНИЕ Цтобы М1Р-отображение работало, все карты от ВА5Е ЕЕЧЕЕ до максимально возможного уровня включительно должны быть загружены. Максимально допустимый уровень — зто наименьшее, выбранное из значения МАХ ЕЕЧЕЕ или уровня, дпя которого размер карты составляет только 1 тексел (одно из 1, 1 х 1 или 1 х 1 х 1). Если загрузка карты для необходимого уровня будет неудачной, не удивляйтесь загадочному отключению текстурирования. Если М1Р-отображение и текстурирование вдруг не происходят, обеспечьте загрузку для каждого требуемого уровня детализации допустимой текстурой.

е;е, ге ( е- ху в, :т Подобно ВА5Е ЕЕЧЕЕ и МАХ ЕЕЧЕЕ, команда 61ТехРагаветег'() устанавливает параметры М1М Е00 и МАХ Е00. Таблица 9.2 содержит список допустимых их значений. Следующий код представляет пример использования 6!тех Р а г авете г ' ( ) для заЗания параметров уровней детализации; 1!ТехРагаветегт(6( ТЕХТОРЕ 20, 6( ТЕХТОйЕ М1М Соэ, 2.

5); 1!Техйагаветегт(6( ТЕХТОРЕ 20, 61 ТЕХТОйЕ НАХ Соэ, 4.5); Параметры И1М Е00 и МАХ Е00 определяют минимальное и максимальное значения для )( (коэффициент масштабирования от изображения текстуры к многоугольнику) для миниатюризации текстур, косвенно задавая, какие уровни М1Р- отображения используются. 342 Глава 9 ° Наложение текстур Таблица 9.2. Управление параметрами детализации М1Р-отображения Описание Значения Параметр ОЕ ТЕХТОкЕ М1й Е00 Минимальное значение Л(фактор маскпабирования Любое изображения текстуры относительно размеров многоугольника) Ы ТЕХТОКЕ МАХ (00 Максимальное значениеЛ Если вы имсстс многоугольник 64 х 64 пиксела и оставляете М1й ЕОО в значении по умолчанию — О,О, для миниатюризации можно использовать уровень О карты текстуры 64 х 64 тексела (ВА5Е ЕЕЧЕЕ - О; как правило, ВА5Е ЕЕЧЕЕ < М1й Е00).

Однако, если значение М1й (00 равно 2.0, размеры самой большой карты, допустимой при миниатюризации, составят 16 х 16 текселов, что соответствует Л = 2.0. Параметр МАХ Е00 вносит свой вклад, только если он меньше максимальной величины Л (которая равна значению МАХ (ЕЧЕ Е или тому, когда карта вырождается в тексел). В случае карты текстуры 64 х 64 тексела соотношение Л - 6.0 соответствует карте ! х 1.

Если жс значение МАХ (00 равно 4.0, для миниатюризации не будут использоваться карты меньше 4 х 4 тексела, Вы можете ориентироваться на то, что значение М1й ЕОО, незначительно большее ВА5Е ЕЕЧЕ Е, или значение МАХ (00, немногим меньшее МАХ ЕЕЧЕЕ, — лучшее решение для подавления паразитных эффектов визуализации (таких как «рывки»), связанных с переходами между М!Р-картами. Автоматическое генерирование М1Р-карт Допустим, что вы подготовили карту уровня О, то есть наивысшего разрешения.

Тогда подпрограммы я1цВи11с(10М!ршарз (), В1цвц(1о20М1рварз () илн к1цВц)14- ЗОВ ! ршарз () сами строят и определяют «пирамиду» М1Р-карт, спускающуюся к разрешению 1 х ! (или ! для одного измерения, или 1 х 1 х 1 для трехмерной текстуры). Если ваше исходное изображение имеет размеры, не равные в точноста степеням двойки, команда В1ивц)1О*ОМ! ржарз () масштабирует изображение к ближайшим степеням 2.

Также, если ваша текстура очень велика, В1цвц11о' ОМ)ршарз () уменьшает размер изображения до вписывания в нужные пределы (оцениваемые механизмом текстур-посредников, ОЕ РкОХУ ТЕХТОРЕ). шс В1цвц()а)0мзршарз(сеепшп сагяес, с1!пс тсегпа!Рогтас, се!и( тиссА С1.епшв ~Готтгзс, С1.епшп Суре, чо(с) *Селе!з); ш( В1цВц(1а20М)ршарв(С1епшп Сагяег, С! !пг тгегпа!Роста(, СЫп( т(с(С)с, Сдлп( Бесй)сс, СЕеппсп Согтас, С1.епшп суре, УоЫ 'сеян)з); !и( В1цвцз(ОЗОМ)ржарз(СЕепшп Сагяег, С1ш( тгегпа!гогтаС, С!!п( гск(с)с, СЕ!п( Ьесяссс, С1.ш( г7ерй, С1.ел от уогтаС, С1.епшп суре, чо!с1»сехе!з); Строит набор М!Р-карт и вызывает к1тех1шабе»0() для загрузки изображений. Значения аргументов Сагйег, тгегпа!гогтаС, та(С(з, йесй)сг, сСерССз, Сопла(, Суре и Сехе1з в точности тс же, что и для В1Тех1шабе10(), 61тех1шабе20() и В1тех1шаке30(). Если ззсе карты сформированы успешно, возвращается значение О; в противном случае возвращается код ошибки СЕБ.

Фильтрация 343 При повышенном контроле над уровнем детализации (используя ВА5Е СЕЧЕС, ХАХ СЕЧЕС, И1И С00 и ИАХ 100) может потребоваться создать только поднабор арт, определенный В1иВи ! 1с(*0М ! рва рз () . Например, вы можете захотеть остановиться на изображении с размерами 4 х 4 тексела, не доходя до наименьшей !екстуры 1 х 1, Чтобы вычислить уровни детализации и загрузить поднабор, вы кежете вызвать команду к1иВи!1а*0И(рварсече1з(). спс В1иВи ! 1410И ! рварсече1з(01епшп Гагяес, 01.шс (лгегла!гогтай 01.шС плс(й, 01.епигп !оплат, 01.епиш Суре, 01.шс !еие1, СЕ!пс Ьахе, СЕйп тах, чоЫ 'гехеЬ); шС В1иВи!1С)20И(рварсече1з(СЕепиш Гауес, 01!пс тгегаа!Гоппай С)йпс ила(га, С?.!пс )се!я)сг, С1 епит гоплад С1.епшп Суре, Санс !еие1, 01.!пС Ьазе, 01!пс тах, чо1с1 "сехеЬ); !ПС В\иви!1а30И!рварсече1з(01епиш !а!пег, СЕ!пс (псегла!гаплат, 01 !пС вИСА, СЕ!пс )се(яИ, 01!пс г!ерй, 01.епшп )оплат, 01.епшп гуре, Санс !еое1, СЕ!пс базе, СЫпс тах, чоЫ *гехе!з).

Формирует набор М1Р-карт и вызывает я1Тех1ваке*00 для загрузки изображений. Аргумент !еое1 указывает уровень детализации М1Р-отображения изображения Сехе!х Аргументы Ьазе и тах определяют деление изображения сехеЬ на уровни. Другие значения — гагдей штеп!а!Гоплай тЫЙ, )се!ййг, с(ерга, !оппас, Гуре и Гехе!х такие же, как для к1Тех1ваке100, к1Тех1ваке200 и х1Тех1ваке30 О. При удачном построении всех карт возвращается значение; иначе функция возвращает код ошибки СШ Если вы рассчитываете на изменения любых текселов изображения множественной текстуры, вам следует иметь полный набор связанных М1Р-карт. Если вы используете В1ТехРагавесег*О лля установки параметра ВС ВЕИЕКАТЕ М1РИАР ыначение 0 С Тки Е, изменения текселов (внутренней области или границ) будут происходить для всех текстур с уровнями ВА5Е СЕЧЕ С + 1 до ИАХ СЕЧЕ С.

Текстуры мя всех других уровней, включая ВА5Е СЕЧЕ С, будут оставаться неизменными. Фильтрация Текстура — это квадрат или прямоугольник, но после их наложения на много)тольник или поверхность и преобразования в координаты экрана отдельные веселы текстуры редко соответствуют пикселам конечного изображения. В заеисимости от примененных преобразований и самого наложения текстуры, один вксел на экране может соответствовать чему угодно, от крохотной горстки текилов (увеличение) до большого их набора (миниатюризация), как показано на )ис. 9.8.

В таких случаях сразу неочевидно, как изменятся, усреднятся и интерповруются значения текселов. В силу этой причины ОрепСЕ позволяет вам укаавать любые из некоторого количества настроек фильтрации для конкретизации ких вычислений. Эти настройки приводят к компромиссу между быстродействем и качеством изображения. Также вы можете задавать независимые методы ~ильтрации для увеличения изображений и их миниатюризации. 344 Глава 9 ° Наложение текстур В иных случаях неочевилно, что выбрать — увеличение или уменьшение, например, если карта текстуры нуждается в растяжении (или в сжатии) в обоих направлениях, х и ЕА Если карту нужно растянуть лишь в одном направлении и сжать в другом, ОреггОЕ делает выбор между уменьшением и увеличением так, чтобы результат был оптимальным в большинстве случаев.

По лучше избегать подобных деформаций за счет использования координат текстур. (См. раздел «Вьгчисление подходящих координат текстурыь.) Многоугольник ни Многоугольник Тексел (элемент текстуры) Пикселы Рис. 9.8. Увеличение и миниатюризация текстур В следующих строках кода приведены примеры использования команды 61техРа гамете г* О для задания методов фильтрации при увеличении и уменьшении карт текстур: 6)техРагаеесегг(6Г ТЕХТОКЕ 20, бг ТЕХТОКЕ НА6 Е!СТЕК, бс НЕАКЕ5Т); апехгагаиетег)<бг тбхтОКЕ 10, бг тЕХтОКЕ Н)Н Е)СТЕК, бг НЕАКЕЗТ); Первый аргумент 81техрагаметег* () — это 66 ТЕХТОКЕ 10, 66 ТЕХТОКЕ 20, 66 ТЕХТОКЕ 30 или 66 ТЕХТОКЕ СОВЕ НАР, согласно типу текстуры.

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

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

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