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

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

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

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

Параметр МАХ Е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. Увеличение и миниатюризация текстур Таблица 9.3, Методы фильтрации для увеличения и миниатюризации текстур Значения Параметр бг ТЕХТОКЕ МАб Е1СТЕК бг НЕАКЕ5Т или 66 С!НЕАК 6С ТЕХТОКЕ М1Н ЕТСТЕК 60 НЕАКЕ5Т,ЕС 61НЕАК,ЕС НЕАКЕ5Т М1РМАР НЕАКЕ5Т,ЕЕ НЕАКЕ5Т М1РМАР С1НЕАК, 66 ПНЕАК М1РМАР НЕАКЕ5Т или бг С1НЕАК М1РМАР !1НЕАК Если вы выберете 66 НЕАКЕ5Т, при фильтрации будет использоваться тексел с координатами, наиболее близкими к центру пиксела.

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

Второй аргумент — 6Е ТЕХТОКЕ МА6 Е1СТЕК или 66 ТЕХТОКЕ И1Н ЕТСТЕК, для указания того, где будет применяться метод фильтрации — при увеличении или уменьшении. Третий аргумент задает сам метод фильтрации; в табл. 9.3 содержится список лопустимых значений. Фильтрация 345 п~аи хк, .ть ,ел мходится за ее пределами. В таких случаях выбор значений текселов подчиняетогрежиму обработки границ (хугарр1пя) (см. раздел «Повторяемые и обрезанные мхстуры»). Приближение бс МЕАРЕ5Т требует меныпе вычислений, чем 6Е 11НЕАР, и, следовательно, может работать более быстро, но 66 Е1МЕАР пылает бонне плавно меняюгцисся результаты.

При увеличении, даже при наличии М1Р-карух используется только карта базовоюуровня. При миниатюризации вы можете уточнить метод фильтрации так, чтоЕн использовать наиболее подходяпууго карту или две карты, как описано в слеНующем абзаце. (Если для уменьшения указано значение 6С МЕАРЕ5Т или бь 11иЕАР, используется только карта базового уровня.) Кнк видно из табл.

9.3, четыре другие настройки фильтрации доступны только нрв миниатюризации. В пределах отлельной М!Р-картгя вы вправе выбрать установку в значение ближайшего тексела — 6Е ЙЕАРЕ5Т М1РМАР МЕАРЕ5Т или линейную интерполяцию — 6Е 61МЕАР М1РМАР МЕАРЕ5Т. Первый метод быстрее, но результаты далеки от желаемых.

Конкретная карта выбирается исходя из степени требуемой миниатюризации и точки переключения между картами. Во из(ежнние резких переходов используйте 66 меАРе5т м1РЙАР с!меАР или бс 11НЕАР М1РМАР Е1МЕАР с цельку линейной интерполяции значений двух ближайшнх текселов. В варианте бс ЙЕАРЕ5Т М1РМАР 11ЙЕАР выбирается тексел, ближайшнй в каждой из двух карт, и затем зти два значения линейно интерполируются. Вслучае 6Е 01ЙЕАР М1РМАР с1МЕАР линейная интерполяция сначала используйся для вычисления в каждой из двух карт, и затем она применяется к двум промежуточным значениям. Как и следовало ожидать, метол бс 61меАР м1РмАР 11НЕАР обычно производит результаты с лучшим качеством по разрешению, но пн требует больше вычислений и, соответственно, более медленный. шы нь- 61 згу- то- ЕМНМАНИЕ Если вы запросили фильтрацию для множественного отображения, но не подготовили полный к непротиворечивый набор карт (все изображения текстур с корректными размерами между уровнями бс ТЕХТОРЕ ВА5Е сЕЧЕс и бь ТЕХТОРЕ МАХ сбуЕс), Орепбс неявновыключиттексгурирование без генерации каких-либо ошибок, Если вы пытаетесь использовать множественное отображение, но текстурирования не происходит, убедитесь в наличии изображений текпур для всех уровней детализации.

гии. до- Некоторые из этих фильтров известны под более привычными названиями. Ме- юн 6Е МЕАРЕ5Т часто называют выборкой по точке (ро(пс нашр11пй), а бс (1НЕАР— билинейной выборкой (Ы11пеаг зашр11пй), поскольку в фильтрации для пнухмерных текстур участвует массив 2 х 2 тексела.

Ннриант бс Е1ЙЕАР М1РМАР Ь1ЙЕАР иногда называют «трехлинейной» выборкой 10Н(пеаг зашр11пя), так как здесь имеет место линейное среднее по двум билиней- ам выборкам. Е5Т ксел Ныть ,рете .ксе- ьшене по ь что ЕРНМЕЧАНИЕ Точка переключения от уменьшения к увеличению обычно соответствует Х = 0.....0, но на нее влияет тип выбранного фильтра миниатюризации.

Если увеличение выполняется согласно бс ЦМЕАР, а фильтруменьшения — бс МЕАРЕ5Т М1РМАР МЕАРЕ5Тибс ЙЕАРЕ5Т М1РМЯР 11МЕАР, тогда переключение между фильтрами выполняется для х = 0.5. Это предотвращает несоответавие внешнего вида маленьких текстур с их большими эквивалентами. 346 Глава 9 ° Наложение текстур Пособие по текстурам от Нзйта Робинса Если вы загрузили комплект обучающих программ Нэйта Робинса, запустите сейчас пособие по текстурам.

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

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

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

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