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

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

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

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

Ггли используются множественные отображения, все связанные с одним изображен(ел! текстуры карты должны быть помещены в один объект текстуры. В лпстини 9.5 изобрюкения текстур уровней 0 — 5 объединены в объекте с именем Тех)числе. удвление объектов текстур Фиксируете ли вы за текстурами имена или разъединяете их с обьсктами текпур, данные текстур все еще остаются где-то среди выделенных ресурсов.

Если ]йсурсы ограничены, удаление текстур может быть единственным способол! высаобождения памяти. чо]г] а10е1ететехтигез(СЕВ]ге] и, сопзС С1.шпС Гехтиге№тех); Удаляет и объектов текстур, соответствующих именам в массиве гезтигедгатех Открепленные имена могут быть использованы повторно (например, командой 916ептехтигез()). 350 Глава 9 ° Наложение текстур Если удаляется связанная текущая текстура, это равносильно возврату к текстуре по умолчанию, как если бгя была вызвана команда к1В!пс(техгогЕО с нулем вместо указателя на гехгиге№те.

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

Если совокупность текстур, требующихся приложению, не умещается целиком в кэш, часть текстур не может быть резидентна. Если вы хотите проследить судьбы ваших резидентных структур, используйте команду к16естехРагааесег'ч() для получения признака, указывающего на состояние резидентности — 6Е ТЕХТОРЕ РЕ510ЕМТ. Если вас интересует судьба сразу многих резидентных сразу, используйте команду х1Агетехсогеэкеэ! с)епс О. С1.Ьоо1еап к1Агетехгцгеэцез!Оепг(С) з!хе( и, сонэ( С).ц)пС "Гехсиге№тед СЕЬоо1еап геясйепсез) Запрашивает статус резидентности для и обьектов текстур, согласно их именам в массиве гехтигедсатея Аргумент геяс(елсез — это массив, в который возвращаются признаки резидентности в сюрядке следования имен объектов з массиве гехсиге№тея Если оказывается, что резидентны все интересующие вас объекты, функция возвращает 6О ТРОЕ, а содержимое массива гезийелсез не изменяется.

Если хотя бы одна из указанных текстур не резидентна, воз. вращается 6Е ЕАО5Е, а элементы массива гезЫепсея соответствующие нерезидентным обьектам текстур в порядке их перечисления в тех(игейсатея также устанавливаются в 6Е ЕАО5Е Заметьте, что команда к1Агетехсогеэцеэ!Оепго возвращает теку!ций статус резидеитности. Ресурсы текстур очень динамичны, и статусы могут обратиться в любое время. Отдельные реализации кэшируют текстуры при их первом исполь. зовании.

И, может быть, иногда стоит нарисовать текстуру перед тем, как проверять ее на резидентность. Если ваша реализация ОрепС1. не предоставляет рабочего набора текстур, объекты текстур всегда полагаются резидентными. В этом случае команда к1Агетехсогеэцеэ! с)епс О всегда выдаст 6Е ТРОЕ, а практической пользы от возвращас. мой информации нет. Стратегии резидентности Если вы можете создать рабочий набор текстур и хотите на этом выиграть в про. изводительности, вы должны опереться на специфику ваших реализаций Объекты текстур 351 ) е а- а- гя ь- о- >м ,ь() эу, еэ, гус яв ль- ве- кты ех- (ае- гро- ций эе- эзэ в (ие сез оз- эи- же ОрепСЕ и приложения. Например, при визуальном моделировании или в видеоиграх вы должны отпавать предпочтение производительности во всех ситуациях. Тогда вам не стоит никогда обращаться к нерезидентным текстурам.

Для таких приложений вам следует загрузить все свои текстуры при инициализации и сдежгь их все резидентными. При отсутствии достаточного количества ресурсов может потребоваться пожертвовать размерами, разрешением, глубиной детализации М1р-изображений, или вы можете использовать команду 51Тех 5 вЫ жабе* () Ыя повторного использования одной и той же памяти, выделенной под текстуры. ПРИМЕЧАНИЕ Если у аас есть несколько недолгожиаущих текстур одинакового размера, вы можете использовать команду р(Техбвшпщре*() для перезагрузки существующих объектов текстур различными иэображениями.

Эта техника «зачистки» бывает эффективнее удаления текстур и их создания заново. Для приложений, создавших текстуры «па лету», нерезидентные текстуры — неизбежность. Если какие-то текстуры востребуются чаще других, вы можетс сдеээть их объекты высокоприоритетными, тем самым увеличив их способность к Раэидентности. Удаление объектов текстур также освобождает место под другие. И наоборот, назначение объекту текстуры низкого приоритета может поставить к в ряд первых претендентов на вывод из состава рабочего набора, как неактугльвого ресурса. Для назначения приоритетов объектам текстур используется коканда 51Рг(ог)тэаеТехгигеэ(), уо(с! В1Рг(ог(Сэаетехтигеэ(С1э!хе! и, сопя( С1в!пг "Гех(иге№теэ, сонэ( Ях! апэр! "ргтоп(!еэ); Для и объектов текстур с именами, перечисленными в массиве газ(игв№теэ, присваивает приоритет резидентности согласно элементам массива ргтоггсгеэ.

Значения в массиве рПоййеэ ограничиваются диапазоном !0.0, 1.01 Нуль— зто самый низкий приоритет (такие текстуры в первую очередь превращаются в нерезидентные), а ! — наивысший приоритет. Команда не требует, чтобы все имена геэтиге№теэ были связаны с объектами текстур. Соответственно, приоритеты никак не сказываются в отношении по- ка еше не связанных объектов. Приоритет одиночной текстуре можно также присвоить командой 51ТехРэгаяегег*(), но только если она текушая и связанная. Фактически команда 1Пехра гаме Сег' () — это лишь способ установки приоритета текстуре по умольэвию. В случае равенства приоритетов текстур обычные реализации ОрепСЕ применяют стратегию самого давнего использования (!еазс гесеп(!у пзег1, ЕК()) в решении эб исключении обьекта из рабочего набора.

Если вы уверены, что вашей решгизаеыи ОрепС1. присущ именно этот алгоритм, присвойте всем объектам текстур (явные приоритеты, тем самым вы получите благоразумную 1 КП-систему лля перераспределения ресурсов текстур. Если же ваша реализация ОрепСЕ не использует принцип ЕКТ) для объектов гскстур с равными приоритетами (или вы вообще не знаете, какой принцип в нее 352 Глава 9 ° Наложение текстур заложен), воспроизведите ЕВ(3-стратегию и тщательное управление приоритетами собственными силами. Когда текстура используется (связана), вы можете поднять ее приоритет до максимального, отражая тем самым ее недавнее использование.

Затем через регулярные промежутки времени вы можете снижать ее приоритет. ПРИМЕЧАНИЕ Вероятны проблемы с фрагментацией памяти текстур, особенно если вы удаляете и заново создаете множество текстур, Хотя возможно загрузить все объекты текстур в рабочий набор, свя. зывая их в определенной последовательности, последующее связывание их в другой последовательности способно привести к тому, что некоторые текпуры станут нерезидентными. Функции текстур Во всех примерах, представленных ранее в втой главе, значения в картах текстур использовались в качестве цветов, которыми окрашивались отображаемые поверхности. Вы можете использовать эти значения также для модуляции цвета, которым поверхность была бы отрисована в отсутствие текстурирования, или для комбинирования цветов карты с оригинальными цветами поверхности.

Вы выбираете функцию текстурирования, передавая соответствующие аргументы в процедуру к1ТехЕлу«(). уо)с) к1ТехЕлчЩ(С).епшп Гагдей С).епшп рпате, ТУРЕ рагат); но(г) к1Техбпч((()у(СЕепшп гагцед С1.ешпп рпате, ТУРЕ "рагат); Устанавливает текущузо функцию текстурирования. Аргумент гагде( выбирается из 6( ТЕХТОРЕ Е1СТЕР СОМТРОС и 6С ТЕХТОРЕ ЕМН. Если значение Сагйег — 6( ТЕХТОРЕ Р1СТЕР СОМТРОС, аргументрпате должен быть задан как 6( ТЕХТОРЕ СОО В1А5, а рогат должен быть одиночным значением с плавающей запятоуь вносящим поправку (Ь(аз) в параметр уровня де. тализации отображения.

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

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

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

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