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

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

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

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

Версия 1.2 к нпм добавила; ° трехмерные изображения текстур; ° новый режим управления координатамп текстуры, 6С ССАИР ТО Е06Е, вырабатываюший текселы из крайних пикселов изображения текстуры, но не из его границ; ° усиленный контроль над текстурами при использовании множественного отображения для представления различных уровней детализации (1ете!з о( оега11, 100); ° вычисление отраженного света после операций текстурирования.

Версия 1.3 подарила еше больше новых операций: ° сжатие текстур; ° текстуры, представленные кубами (спЬе шар); ° мультитекстурирование, когда несколько текстур используется при построении одного примитива; ° режим 6С ССАИР ТО ВОДОЕМ; ° режимы наложения окружения: 6С АОО и 6С СОИВ1НЕ (включая скалярное произведение). Всрсия 1А предоставила в ваше распоряжение следуюшие возможности: ° режим 6С И1ЙЙОКЕО кЕРЕАТ; ° автоматическая генерация М1Р-текстур с помо|цью 6С 6ЕИЕВАТЕ И1РИАР; ° параметр 61 ТЕХТОЙЕ СОО В1А5, предназначенный для изменения уровня детализации текстур; ° применение вторичного цвета (указываемого В15есопдагуСо1ог*()) после текстурирования; ° возможность использовать цвета из различных модулей текстур в качестве исходных, в процессе комбинирования текстур; 314 Глава 9 ° Наложение текстур я использование глубины (г-корлината) в составе внутреннего компонента формата текстуры и режимов текстурирования, сравнивающих глубину текселов для принятия решения об отображении текстур.

Если вы попытались использовать одну из этих операций и не нашли ес, проверьте номер версии своей реализации Орепо(.. (См, раздел «Какую версию я использую?» главы 14). В некоторых реализациях определенная функция может быть доступна только через расширение. Например, в версии Ореном 1.2 мультитекстурирование одобрено АКВ (Агс)пз гесгше Кенезч Воап), совет, рецензирующий архитектуру ОрепС1) как необязательное дополнение. В реализации 1.2 поддержанные функции мультитекстурирования и названия констант имеют суффикс АКВ, например к1Аст1четехтвгеАЙВ(бс тЕХт0КЕ1 АКВ) . В ОрепС1.

1.3 мультитекстурирование стало неотъемлемым элементом, и суффикс АкВ был удален. Общий обзор и пример Этот раздел содержит краткий обзор действий, необходимых для наложения текстур. Здесь также представлен пример относительно простой программы, выполняющей наложение текстур. Конечно, вы должны понимать, что наложение текстур может быть очень сложным процессом. Действия при наложении текстур Чтобы попользовать наложение текстур, вы должны предпринять следующие действия: 1.

Создать обьект текстуры и опрелелить текстуру для этого объекта. 2. Указать, как текстура будет применена к каждому пикселу. 3. Включить режим п сложения текстур. ь Отрисовать сцену с использованием как координат текстуры, так и геометрических координат.

Имейте в внлу, что наложение текстур работает только в режиме КСВА. Его резульпаты в режиме индексации цвета непредсказуемы. Создание объекта текстуры и определение текстуры Под текстурой обычно понимается нечто двумерное, как и большинство изображений, но она может быть также одномерной или трехмерной. Данные, описывающие текстуру, могут состоять из одного, двух, трех или четырех элементов на тексел и прелставляться четверкой (К, С, В, А), постоянной модуляции и компонентом глубины. В листинге 9.1, который очень прост, всего один объект текстуры создан для поддержания олной несжатой двухмерной текстуры.

Эта программа не пытается узнать, сколько доступно памяти. Поскольку создается единственная текстура, ие Общий обзор и пример 315 предпринимаются действия по определению приоритетов или иному управле- квю рабочим набором объектов текстур. Другие улучшения технологии, такие как обработка границ текстур, текстуры с различными уровнями детализации кли «кубические» текстуры, не использую~ся в этом простом примере. в Указание, как применить текстуру к каждому пикселу В вашем распоряжении одна из четырех доступных функций для вычисления конечного Р«СВЛ-значения, исходя из цвета фрагмента и данных изображения текстуры.

Одна возможность — это просто использование цвета текстуры в качестве Результирующего; это режим замещения, в котором текстура окрашивает собой фрагмент, как будто на него наклеивается переводная картинка. (Режим замешсвпя использован в листинге 9.1.) Другой способ — использовать текстуру лля модуляции (птгк)п!асс), или масштабирования, цвета фрагмента; эта техника полезна для комбинирования эффекта текстурирования с освещением. Наконец, постоянный цвет гиожет быть смешан с цветом фрагмента на основе значений текстуры.

зт Включение наложения текстур Вам нужно активировать текстурирование перед рисованием своей сцены. Тек- стуририрование включается н выключается командами В1ЕпаЫеО и В101зав)е1), с параметрами 6Е ТЕХТОйЕ 10, 6Е ТЕХТОКЕ 20, 6Е ТЕХТОйЕ 30 или 6Е ТЕХТОкЕ ЕВВЕ ИАР для одномерных, двухмерных, трехмерных или кубических текстур со- ответственно. к- л.к- ие 30спроизведение сцены с учетом координат текстуры и ееометрических координат Взм следует указать, как текстура должна быть выровнена относительно фрагментов, в которые она будет «вклеена». То есть вам нужно задать не только гсоистрические координаты объектов сцены, но и координаты текстуры.

Например, ззя двухмерных карт текстур диапазон координат простирается от 0.0 до 1.0 зобоих направлениях, но координаты элементов текстур могут различаться. Так, чтобы применить текстуру кирпича к стене, в допущении, что стена квадратная и, значит, люжст быть представлена одной копией текстуры, код, по вгсй видимости, присвоит координаты текстуры (О, 0), (1, 0), (1, 1) и (О, 1) четырем углам стены. Если стена протяженная, вы мозкете захотеть раскрасить ее несколькими зхзечплярамн текстур. Если сделать так, карта текстуры должна быть построезз с учетом того, чтобы кирпичи с левого края соответствовали кирпичам с правой стороны, и аналогично нужно поступить с верхними и нижними краями мялки.

зи- ре- ра:ына по- од- уз- не ПРИМЕЧАНИЕ Егли активны режимы в двух или во всех трех измерениях, то используется определенный для старшей размерности. Если используются кубические текстуры, они обладают наивысшим приоритетом. Это ваше дело, но ради чистоты программы лучше указывать только действительно задействуемый режим. 316 Глава 9 ч Наложение текстур Вы должны также указать, как следует обрабатывать координаты, выходящие за диапазон [0.0, 1.01. Повторить ли текстуру вдоль всего объекта или фиксировать ее в опрелеленных границах? Пример программы Одна из проблем с написанием простых программ, иллюстрирующих наложение текстур, — то, что представляющие интерес текстуры велики. Обычно текстуры читаются из файла, так как их программное описание может включить в себя тысячи строк кода. В листинге 9.[ текстура, состоящая из перемежающихся черных и белых квадратов, подобно шахматной доске, генерируется программой.

Программа применяет эту текстуру к двум квадратам, воспроизводимым с учетом перспе!стнвы. Один из них обращен «лицом» (находится под прямым углом) к наблюдателю, а другой наклонен назад на 45', как видно из рис, 9.2. В координатах объекта оба квадрата имеют одинаковый размер. Рис. 9.2. Текстурированные квадраты Листинг 9.1. Текстурированная шахматная доска: сйесКег.с Создание текстуры шахматной доски №Оет!пе спесх1аааеи1Н(П 64 №ае![пе спесК1вааеНе18пт 64 вта11с 6(иьуте спеск1ааае[спеск1вааене18пс][снеск1вааеи10(п][4]; в(ат(с 6(о>п( !ехиаве; чо>О ааКеСПесК1ааае(чо1О) ( !пс 1, ), с; 1ог (1 = е: ! < спеск1вааене!8пс; 1«+) ( т () = О; ) < спеси) таенгвсп; ) +> ( с = ((((!'аех8)==0)'((>аох8))==0))*255; сПесх1ааве [ 1) [> ] [8] = (6(ноуте) с, спеск1ваве [1] [) ) [ 1] = (6(оЬу!е) с; спеск1ваве[1)[)][2] = (6(иьуге) с, сьеск1ваае[з][)] [3] = (6(ноуте) 255; чо10 !сит(чо1П) Общий обзор и пример 317 В!С!еагсо!ог(8,8, О,О, 0.0, 0.0>; В!5пабенабе!(6С ЕСАТ); В!Епаб!е(6С ОЕРТН ТЕ5Т); аакеСПесх1юаВе(): В\Р!хе!5(оге!(6С ОМРАСК АС16ММЕМТ, 1); а!Оептехецгеэ(1, ЬСехнаюе); В!В!потех(цге(6! тЕХТОКЕ 20, Сехнаюе); В!Техрагаще(ЕГ((6( ТЕХТОКЕ 20.

6( ТЕХТОйЕ ИКАР 5. 6С КЕРЕАТ); В!ТехРагаюеСег!(6С ТЕХТОКЕ 20, 6( ТЕХТОКЕ ИКАР Т, 6С КЕРЕАТ); В!Техрагаюе(ег5(6С тЕХтОКЕ гО, 6С тЕХтОКЕ МА6 Р(СТЕК, 6С МЕАЙЕ5т>; В!ТехРагаще(ег!(6С ТЕХТОКЕ 20, ОС ТЕХТОКЕ М1М Р!СТЕК, 6С МЕАКЕ5Т); В!Тех!юакего(6( ТЕХТОЙЕ 20.

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

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

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

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