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

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

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

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

9.6. Термин множественное отображение (пз!ршар) ввел в обиход Ланс Вильямс ((лосе %'!1!!ашз), когда представлял эту концепцию в своей статье Ругат1с(а1 РагатвГПст (труды конференции 31ССВАРН, 1983). Мзр — это акроним от латинизма тийит т разно («многое в малом»), в интерпретации «много вещей в маленьком местею В М1Р-отображении нашли применение некоторые искусные методы упаковки данных изображений в паиятн. Исходная твкстура Предварительно отфильтрованныв изображения Рис.

9.6. М1Р-карты Когда используется множественное отображение, ОрепС1. автоматически вычисляет, какие карты текстур нужно использовать, отталкиваясь от размера (в пикселах) объекта, на который производится наложение текстур. При таком подходе уровень детализации карты текстуры соответствует изображению, рисуемому на сцене, — размер карты текстуры синхронно уменьшается с уменьшением размеРов изображения.

М1Р-отображение требует некоторых дополнительных вычислений и лишнюю память для хранения текстур; тем не менее, когда оно не используется, текстуры, накладываемые на небольшие объекты, могут «мерцать» и «полыхать» при движении зтих объектов. а я ПРИМЕЧАНИЕ Чтобы до конца разобраться с М1р-картами, ваи нужно понимать работу фильтров миниатюризации (пип)бсабюп), которые описаны в разделе «Фильтрация». 336 Глава 9» Наложение текстур Чтобы использовать множественное отображение, вы должны сделать размеры своих текстур равными степени 2, начиная от карты 1 к 1. Например, если ваша карта с самым высоким разрешением имеет размеры 64 х 16, следует также подготовить карты 32 н 8, 16 н 4, 8 к 2, 4 к 1, 2 х 1 и 1 к 1. Самые маленькие карты обычно представляют собой фильтрованные версии самой большой карты, каждый тексел в которых является средним значением от соответствующих четырех текселов карты с более высоким разрешением.

ПРИМЕЧАНИЕ Так как Орепбг не предьявляет особых требований к методам расчета карт с низким разрешением, текстуры с различными размерами могли бы быть совершенно не связанными. На практнке не связанные между собой текстуры делали бы переключения между версиями текстур очень даже заметнымн, как на цветном рисунке 20. Для задания этих текстур вызовите команду 81Тех1вабе20() по разу на кахгдое разрешение с различными значениями аргументов [еое], Ыс[г]ь ]се[8)гг и [таде. Первое, с чего нужно начать, — уровень детализации (7еое]).

Он указывает, какая из текстур серии определяется; в предыдущем примере для текстуры с наивысшим разрешением 64 к 16 следует объявить сере] = О, для текстуры 32 х 8 — ]еое! = 1 и т. д. Для полного комплекта вам нужно выбрать один из возможных методов фильтрации, описанных в разделе «Фильтрацияь. ПРИМЕЧАНИЕ Данное описание М1Р-нзображення не изобилует такими подробностями, как коэффициент масштабирования (нэвестный как 1) между размером тексела н размером многоугольника. Что такое Х подробнее рассказывается е разделах «Вычмсленне уровня детализации множественного отображения» н »Управление уровнем детализации М1р-отображения», Листинг 9.5 иллюстрирует применение серии из шести различных текстур с размерами от 32 к 32 до 1 н 1.

Эта программа рисует прямоугольник, удаляющийся от переднего плана и в конце концов сходящийся в точку, как показано на цветном рисунке 20. Заметьте, что координаты текстуры лежат в диапазоне от 0.0 до 8.0, что требует выстраивания плиткой 64 экземпляров карт текстур — по восемь в каждом направлении. Каждая карта имеет различный цвет, с целью показать, как карты сменяют друг друга. Листинг 9.9.

М]Р-текс]урьп гп]ргпар.с 61оЬуге в[рвар1вабе32[32][32)[4]; сьоЬуСе в!Рвер1везе16[16][16][4]; 6СЬЬусе в! Рвар1ваае8[8] <8] [4]; бгоЬУСе в!РваР1ваке4[4][4][4]; 61оЬуге в! Рвар1вахе2 [2] [2] [4]: бсоьусе в! Рвар1ваке1[ 1] [1) [4]: эгаС!с бьо!пС Сехиаве; чо!О вахе!вззеэ(чо!О) ( !пС 1, 1; 338 Глава 9 ° Наложение текаур Листинг 9.5 <лродолжеяие) 816епТех<оге»(1, а<ехйаае); 818<пвтех<оге(6С ТЕХТОйЕ 20, Сехяаве); 81ТехРагаае<ег»(6С ТЕХТОЙЕ 20, 6С ТЕХТОЙЕ ИКАР 5, 6< КЕРЕАТ); 81ТехРагаае<ег>(6С ТЕХТОКЕ 20, 6С ТЕХТОЙЕ ИКАР Т, 6С КЕРЕАТ); 81ТехРагаае<ег»(6< ТЕХТОЙЕ 20, 6< ТЕХТОКЕ ИА6 Р!СТЕК, 6С МЕАЙЕ5Т); 81ТехРагаветег<(6С ТЕХТОКЕ 20, 6С ТЕХТОЙЕ М1М Р1СТЕК, 6С МЕАКЕ5Т М1РМАР ИЕАКЕ5Т): 81Тех !аайе20(66 ТЕХТОКЕ 20, В, 6С ИОВА, 32, 32, О, 6С й6ВА, 6С ОМ516МЕ0 ВУТЕ, а!Раар1вайе32); 81тех1аайе20(6С ТЕХТОКЕ 20, 1, 6С К6ВА, 16, 16, О, 6С К6ВА, 6< ОИ516МЕО ВУТЕ, а<раар1ваве16); 81Тех1ааае20(6С ТЕХТОКЕ 20, 2, 6С К68А, 8, 8, О, 6С ВОВА, 6С ОМ516МЕ0 ВУТЕ, в!Раар<ваае8); 81Тех1ааае20(6С ТЕХТОКЕ 20, 3, 6С 86ВА, 4, 4, В, 6< КЕВА, 6С ОМ516МЕО ВУТЕ, а<раар1вайе4); 81тех<ваае20(6С ТЕХТОКЕ 20, 4, 6С й6ВА, 2, 2.

О, 6С МОВА, 6С ОМ516МЕ0 ВУТЕ, а<рвар1вайе2); 81тех1вай«20(6С ТЕХТОКЕ 20, 5, 6С МОВА, 1, 1. О, 6С К6ВА, 6С ОМ516МЕ0 ВУТЕ, а>раар1аахе1); 81техЕпчг(6С ТЕХТОКЕ ЕИЧ, 6С ТЕХТОЙЕ ЕМЧ МООЕ. 6С КЕРСАСЕ): 81Епаые(6С ТЕХТОЙЕ 20); чо!О О!401ау<чо<О) < 81С1еаг(6< СОСОК ВОРРЕЙ 81Т ! 6< ОЕРТН ВОРРЕй 8!Т); 818<пОТехСоге(6< ТЕХТОКЕ 20, Сехнаве); 8>зеа!п<6< ООА05>; 8>техеоогО2((В.В, 8.0); 8>чег<ехЗУ(-2.8, -1.8, О.в>; 8<техеоог42<<8.8, В.О>; 8>чегСехЗ<<-г.О. 1.О, О.О>; 81ТехСоогс2<(8.0, 8.0): 81чег<ехз<(2000.0, 1.0, -6808.0); 81Техсоогсзг(8.8, 0.0); 81чег<ехзг(2000.0, -1.0, -6008.0); 8\Ело(): 81Р1о»ПО; Каждому уровню детализации в листинге 9.5 назначен свой цвет с целью показать, как один замешает другой.

В реальной ситуации вы определястс множественныс отображения так, чтобы сделать переходы незаметными, насколько это возможно. Поэтому уровни низкого разрешения обычно являются фильтрованными версиями уровней высокого разрешения. Формирование серии таких карт обычно делается в процессе программирования, а не является частью ОрепО1., которая просто не что иное, как библиотека для визуализации.

Поскольку конструирование уровней дстализации является важной работой, библиотека инструмснтов Орепб1, <ОШ) содержит подпрограммы, которые помогают манипулировать изображениями, используемыми в качестве М1р-текстур, как описано в разделе «Автоматическое генерирование М1Р-карта Вычисление уровня детализации множественного отображения Вычисление уровня детализации М1Р-отображения для текстуры, накладываемой па определенный многоугольник, зависит от фактора масштабирования Описание текауры 339 пеклу изображением текстуры и размерами текстурируемого многоугольника (в пнкселах).

Обозначим этот фактор масштабирования как )., а также определим поРое значение, Р, где Х = 1ой, Р +!од„и, Так как изобРажениЯ текстУР могУт быть нногомсрным, важно пояснить, что р — максимальный фактор масштабированнн по всем измерениям. Поправка 1одь;,.

— это уровень детализации отклонения (Ъ|ав), константа, устакввлнваемая командой к1техЕпч«О для подстройки ).. (За справкой об испольюввнни н1тех 6 пч* () для установки уровня детализации отклонения обращайпсь к разделу «Функции текстур>.) По умолчанию !оды„- 0.0, поэтому не вносит вклад в масштабирование. Лучше начать с этого значения по умолчанию и прн необходимости вносить небольшие коррективы. Гснн ), < 0,0, текстура меньше многоугольника, то есть используется фильтр увеннчения.

Если Х > 0.0, используется фильтр миниатюризации. В случае уменьшающего фильтра ) указывает уровень М!Р-отображения. (Точка переключения ву одного фильтра к другому обычно ). = 0.0, но не всегда. Определенный фильтр )1!Р-отображения может сдвинуть эту точку.) Например, если размеры изображения текстуры 64 х 64 тексела, а размеры мноюугольника — 32 х 32 пиксела, тогда р = 2.0 (не 4.0) и, следовательно, ), = 1.0. Еснн размеры изображения текстуры равны 64 х 32 тексела и размеры многоугольника 8 х 16 пикселов, тогда р = 8.0 (х увеличивается с коэффициентом 8.0, в фактор масштабирования для у — 2.0) и, соответственно, ) = 3.0.

жа- :ст- это пвя, для аж- мы, тве ик текстура пы- ния Рис. 9.т. Использование мозаичных текстур управление уровнем детализации М1Р-отображения По умолчанию вы должны подготовить карты для каждого разрешения, уменьшвн их до одного тексела в каждом направлении. В некоторых случаях таких нрезвычайно маленьких изображений, представляющих ваши данные, можно из(сжать. Например, можно обратиться к технике, называемой складыванием момнва (шова!с!пй), где несколько маленьких изображений комбинируются в одну пкстуру. Один из примеров мозаики показан на рис.

9.7, здесь множество симвоюв представлено одной текстурой, которая бывает более эффективной, чем созпние отдельных текстур для каждого символа. Чтобы наложить на изображение гонько один символ из текстуры, вам нужно целенаправленно использовать коврнннаты текстуры для отделения интересуюшей вас буквы. 340 Глава 9 ° Наложение текстур Если вы примените совсем миниатюрные М1Р-карты, для таких карт сложение мозаики будет неприемлемым вследствие вырождения деталей начертания бука, Соответственно, может потребоваться наложить ограничения на разрешения.

В общем случае нужный результат достигается добавлением или удалением уровней детализации М1р-карт. Другая проблема визуализации М1Р-карт — «скачки» (рорр)пй) — внезапные переходы от одной карты к другой, совершенно отличающейся по разрешению, имеющие место, когда текстурируемый многоугольник становится больше иля меныпе.

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

Другие две константы (сокращенные нами да И1И С00 и ИАХ 100) определяют активный диапазон вышеупомянутого фактора масштабирования л. Эти параметры текстуры связаны с несколькими ранее описанными проблемами. Эффективно использовать ВА5Е СЕЧЕС н ИАХ СЕЧЕС можно, сократив количество задаваемых карт, тем самым демонстрируя рациональный подход к расходованию ресурсов.

Избирательное использование ИАХ 100 может сохранить предста. вительность мозаичных текстур, а И1И С00 смягчит аффект «прыжков» между версиями с резко различающимися разрешениями. Параметры ВА5Е СЕЧЕС и ИАХ СЕЧЕС задают граничные значения уровней М!Р. отображения. Параметр ВА5Е СЕНЕС вЂ” это уровень для самого высокого разреше. ния (наибольшей текстуры), по умолчанию его значение равно О. Тем не менее, вы можете изменять базовый уровень ВА5Е СЕЧЕС, добавляя дополнительные текстуры с высоким разрешением «на лету». Аналогично, ИАХ СЕНЕС накладыва.

ет ограничение на самое низкое разрешение. Значение по умолчанию для ИАХ СЕЧЕ С равно 1000, а зто практически всегда означает, что минимальная по разме. рам текстура будет представлена одним текселом, Чтобы задать базовый и максимальный уровни, используйте процедуру к1техРагажетег»() с первым аргументом, установленным в 61 ТЕХТОКЕ 10,61 ТЕХТОКЕ 20, 6С ТЕХТОКЕ 30 или 6С ТЕХТОКЕ СОВЕ ИАР, в зависимости от самой текстуры. Второй аргумент, принимаемый процедурой, это один из параметров, описанных в табл.

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

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

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