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

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

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

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

Вы можете подготовить все координаты по отдельности, а можете и использовать векторную версию команды, чтобы сделать это из одного массива. Координаты текстуры умножаются на 4 х 4 матрицу текстуры перед тем, как будет выполнено наложение текстур. (См, раздел «Стек матриц текстур».) Обратите внимание, что целочисленные координаты текстуры интерпретируются непосредственно, а не проецируются в диапазон (-1, 1]. В следующем разделе объясняется, как рассчитать соответствующие координаты текстур.

Вместо явного их присвоения вами, можно воспользоваться средствами ОрепОБ для автоматического их вычисления. (См. раздел «Автоматическая генерация координат текстуры) Пособие по текстурам от Найта Робинса При наличии у вас самоучителя Нэйта Робинса запустите пособие по текстурам и экспериментируйте с параметрами ~1техСоогс(2(О для четырех различных вершин. Посмотрите, как можно наложить часть полной текстуры. Что случится, если вы сделаете координаты текстуры меньше 0 илн больше 17 Вычисление подходящих координат текстуры Двухмерные текстуры — это квадратные или прямоугольные изображения, которые обычно проецируются на многоугольники, образующие полигональную (ро!уяоп— многоугольник) модель. В простейшем случае вы отображаете прямоугольник текстуры в такую же «прямоугольную» модель — например, нашей текстурой может быть сканированное изображение кирпичной стены, и ваш прямоугольник может представлять один кирпич в кладке. Для простоты предположим, что кирпичная стена имеет квадратную форму и текстура тоже квадратная, и вы желаете наложить всю текстуру на всю стену.

Координаты текстуры — (О, 0), (1, 0), (1, 1) и (О, 1) обходятся против часовой стрелки. Рисуя стену, просто задайте зти координаты как координаты текстуры, когда указываете координаты вершин стены, в порядке против часовой стрелки. Теперь усложним. Пусть отношение высоты стены к ее ширине — два к трем, но текстура все еше квадратная. Чтобы избежать искажения текстуры, вам следует спроецировать на стену часть карты текстуры так, чтобы сохранились пропорции. Допустим, что вы решили использовать нижние лве трети карты для текстурирования стены, В таком случае используйте координаты текстуры (О, 0), (1, 0), (1, 223) и (О, 223), раз вершины стенка обходятся против часовой стрелки.

Внесем еще немного сложности. Будем считать, что вас почему-то интересует отображение на экран консервной жестяной банки с наклеенной на нее этикеткой. Чтобы получить текстуру, вы сходили за банкой в магазин, отодрали этикетку и отсканировали ее. Предположим, что этикетка имеет 4 условные единицы длины поперек и 12 единиц вдоль, то есть соотношение сторон — 3 к 1. Поскольку текстуры должны удовлетворять соотношению 2" к 1, вы можете просто не ис.

Присвоение координат текстур 357 пользовать верхнюю треть этикетки или вырезать из нее кусок с необходимыми пропорциями. Допустим, вы отказались от использования верхней трети. Далее заедем допущение, что цилиндр банки аппроксимируется 30 прямоугольниками сдлиной 4 единицы (высота банки) и шириной 12/30 (1/ЗО периметра крышки). Вы можете использовать следующие координаты текстур для 30 аппроксимирующих прямоугольников; 1:(О, 0),(1/30, 0),(1/30, 2/3),(0, 2 '3) 2:(1/ЗО, 0),(2/30, 0),(2/30, 2/3),(1/30, 2/3) 3:(2/ЗО, О),(З/ЗО, О), (3/ЗО, 2/З),(г/ЗО, 2/3) 30: (29/30, 0), (1, 0), (1, 2/3), (29/30, 2/3) Только несколько кривых поверхностей, таких как конусы и цилиндры, могут быть спроецированы на плоску|о поверхность без геодезических искажений.

Люеые другие фигуры претерпят деформацию. В целом, чем выше скругленность (сап аспге) поверхности, тем больше искажается текстура. Всли вас не тревожит искажение текстуры, найти простое рациональное решение етображения несложно. Так, рассмотрим сферу с координатами поверхности (сот 0 соз у, соз 0 гйп д, гйп О), где 0 < 0 ь 2к и 0 < у < к.

Карта текстуры может быть хапрямую спроецирована в прямоугольник 0<а, но по мере приближения к полюсзм все сильнее будут проявляться аномалии. Весь верхний край карты текстуры попадет на «северный» полюс, и весь нижний край — на «южный» полюс. Для хругих поверхностей, таких как тор («бублик») с большим отверстием, координаш поверхности преобразуются к координатам текстуры способом, который вносат лишь чуть-чуть искажений, поэтому он годится для многих приложений. На рис. 9.9 показаны два тора, один с небольшим отверстием (и, следовательно, со значительной деформацией вблизи центра) и один с дырой чуть ли не до краев (х потому с незначительными искажениями).

Рис. 9.9. Искажение карты текстуры Вели вы текстурируете сплайновые поверхности, сгенерированные вычислителяка (см. главу 12), параметры и и и поверхности могут в отдельных случаях исюльзоваться как координаты текстуры. Тем не менее в целом успешное наложезхе текстур на полигональные приближения кривых поверхностей требует от вас тысокого мастерства. 358 Глава 9 ° Наложение текаур Повторяемые и обрезанные текстуры Вы вправе задать координаты текстур, выходящие за диапазон [О, 1], и затем «выпилить» этот диапазон или же тиражировать карту текстуры.

Второй вариант подходит тогда, когда вы имеете, например, изображение большого самолета с координатами текстуры от 0.0 до 10.0 в двух направлениях. Тогда вы получаете 100 копий текстуры, сопряженных на экране в плиточную поверхность. При размножении текстур целые части координат текстур игнорируются, благодаря чему копии укладываются рядом, не перекрываясь. Для болыпинства приложений, использующих повторение текстур, текселы наверху текстуры должны соответствовать пикселам снизу, и то же верно для правого и левого краев.

Допускается «зеркальное» расположение, где плитки чередуются в порядке «туда-сюда» (([[р-йор), другими словами — наподобие триггерного переключения. Например, в пределах диапазона координат текстур [О, 1] текстура может выглядеть ориентированной слева направо (или сверху вниз или от ближнего конца к дальнему), но здесь слово «зеркальное» обозначает смену ориентации текстуры в направлении «справа налево» для диапазона [1, 2], снова «слева направо» для координат [2, 3] и т.

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

раздел «Фильтрация»). Если фильтрация выполняется по принципу 61 МЕАкЕ5Т, используется ближайший тексел текстуры. Для большинства режимов наложения граница (или ее цвет) игнорируется. Тем не менее, если координаты текстур выходят за рамки [О, 1] в задан режим наложения 61 С САЯР ТО ВОМОЕЙ, выбирается ближайший тексел ва границе. (При отсутствии границы используется некоторый константный цвет.) При фильтрации по методу 6С 11МЕАР используется взвешенное значение по массиву 2 х 2 (для двухмерных текстур) данных цвета. При задании границы и/или ее цвета оба свойства применя1отся совместно, по следующим правилам; ° в режиме обработки границ 6С МЕР ЕАТ граница игнорируется во всех ситуациях.

К вычислениям привлекается массив 2 х 2 тексела с противоположного края текстуры. Таким образом, текселы с правого края усредняются с пиксе- лами левого края, и то же верно для левого и правого краев; ° в режиме 6С ССАИР для тексела на границе (или в режиме 61 ТЕХТОЯЕ ВОМОЕМ СОСОМ) используется средневзвешенное по массиву 2 х 2 тексела; ° в режиме 6С ССАИР ТО ЕО6Е граница игнорируется всегда. Для вычислений привлекаются текселы вблизи краев текстуры; Присвоение координат текстур 359 ° в режиме 6С ССАМР ТО ВОКОЕК, если координаты текстуры выходят за диапазон [О, 1~, в расчет принимаются только текселы границы (при отсутствии границы основываются на константном цвете границы).

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

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

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

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