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

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

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

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

Аргумент хо1!хе! указывает смещение тексела в пределах массива существующей текстуры, по которому помещается парциальное изображение. Массив текстуры участка иэображения берется из строки пикселов с координатами левого конца (х, у). Ширина (илЫ(А) задает количество пикселов в ряду. 328 Глава 9 ° Наложение текстур Трехмерные текстуры Трехмерные текстуры обычно используются в медицинских и геологических приложениях.

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

По причине своего размера трехмерные текстуры могут потреблять значительный объем ресурсов. Даже относительно грубая трехмерная текстура может требовать в 16 или 32 раза больше памяти, чем ее двухмерное подобие. Для большинства двухмерных текстур и подтекстур имеются соответствующие «трехмерные» процедуры-аналоги.

Об изображении трехмерной текстуры можно думать как о стопке двухмерных прямоугольников. В памяти зти прямоугольники упорядочены последовательно. Чтобы создать простую трехмерную текстуру, используйте команду б\Тех1шаае30О. уоЫ д)Тех1ваде30(С1.епцт Та!Вей С(.)пг!еоеЬ С1.!п1 тсетлаТоплат, С1.яге) Ыг11Ь, С1л!хе) Ье(яЬг, С1л!зе) ЙергЬ, С?.)п! Ьогг(ег, С1.епцщ ) оплат, С1.епщп гуре, сопят С1уоЫ "гехеЬ); Определяет трехмерную текстуру. Все аргументы принимают те же значения, что и для команды д)Тех1ваде20О, с той разницей, что здесь |ехе1з — трехмерный массив, образованный добавлением параметра глубины (г(ергЬ).

Значение глубины должно быть равно 2«(или 2 + 2 с учетом границ), где гл — неотрицательное целое число. Вы можете применять М1Р-отображение и текстуры-посредники (установив аргумент Гагиес в значение 61 РйОХУ ТЕХТнйЕ 30), и по-прежнему доступны параметры фильтрации. ПРИМЕЧАНИЕ Трехмерные свертки не поддержаны расширением !гоаб!пв 5цбзе!. Тем не менее в вашем распоряжении имеются 20-фильтры, которые применимы и к трехмерным изображениям текстур, Листинг 9А представляет часть программы, использующей трехмерную карту текстуры. Листинг 9.4. Трехмерное текстурирование: !ехтогеЗд.с №Оеу!пе зи)ОСП 16 №Оет)пе )Не!хи! 16 №Оет)пе )верги зб всат! с бсцьусе )евое [! 0ерсн) 1! не! №пс) ))н)отп) 13); эта!)с бьи)п! сехиаве; Описание текстуры 329 !' Создание 16х16х16хЗ массива с различными значениями цвета ' дпя каждого элемента массива [г, В, Ь).

Диапазон значений — от 8 до 255 <7 чо1О ваке1вайе(чо1О) ( 1пС 5, С, г; г, Х Х !Ог (5 = 0; 5 < 16; 5++) гог (С = 9; С < 16; С++) тог (г = 0; г < 16; гъ<) ( ! майе [г] (С! (5] [9! = 5 ' 17; 1вайе[г! [С] [5) [1! = С ' 17; 1вайе[г] [С] [5! [2] = г ' 17; ) !х э- ) И Инициапизация состояния; 30-объект текстурм и его изображение */ чо!О [п11(чо1О) ( 61С1еагСо1ог(9.9, 8.0, 9.0, 0.0); 615нааейоае[(6( РСАТ)! 61Епаще(6( ОЕРТН ТЕ5Т); вахе1вайе(): 61Р1хе15тоге1(6( ОМРАСК А(16МНЕМТ, 1); 116епТехтцгез(1, атехйаве); 6191пбтехтцге(6( ТЕХТОРЕ 30, Сехйаве); 61техРагаветегт(6( ТЕХТОРЕ 30, 6( ТЕХТОРЕ ИВАР 5, 6( ССАНР); 6[техРагавеСегт(6( ТЕХТОРЕ 30, 6( ТЕХТОРЕ ИВАР Т, 6( ССАНР); 6[техрагаветег[(6С ТЕХТОРЕ 30, 6С ТЕХТОРЕ ИРАР Р, 6( ССАНР); 61техРагаветег1(6[ ТЕХТОРЕ ЗО, 6( ТЕХТОКЕ НА6 Р!СТЕР, 6( МЕАРЕЗТ); 61техРагаветегт(6( ТЕХТОИЕ 30, 6( ТЕХТОРЕ Н1М Е1(ТЕР, С йЕАРЕ5Т); 61Тех1ваае30(6( ТЕХТОРЕ 30, 9, 6( Р6В, 1И]ОСЬ, 1Не«ВПС, «Оерсь, О.

6( Р6В, 6( ОН516ме0 Вчте, 1вайе): ь- ,1Х !е[ «е, 1Я, :х- са!е- И У Чтобы заменить все текселы трехмерной текстуры или их часть, используйте комапду а1Тех5ОЫваае30(). чо[г] а1Тех 5 ОЫваке30(С?епшп (агяед С?зпс [еОЕ[, С?[п( хоу[зей С?.[пс уоДзей С?дпС зоуузед С?.5[се] ад<[1)т, С?зеве! )«е[а]тй С?л]се] г?ерт[т, С?.епшп уоггпай С?.епшп Гуре, сопз( С?.чо[с? "(ехе?5); Определяет массив трехмерной текстуры, замещающий собой существующее изображение трехмерной текстуры нли его некусочную область. Аргумент (агие( должен быть установлен в 61 ТЕХТОРЕ 30.

Аргументы [еое[, /оггпас и Гуре используются аналогишо команде 91тех[ваае30(). Аргумент [ере[ — номер уровня детализации М?р-отображения. Аргументы (оггпа( и (уре описывают формат и тип данных изображения текстуры. Для неполных изображений сохраняют силу режимы, установленные е[Р]хе15со ге' (), е1Р! хе1тгап5 тег' (), а также другие операции при передаче пикселов.

,по- «ту Чтобы использовать буфер кадров в качестве исходных данных для замещения существующей трехмерной структуры или ее части, используйте команду 1]Сорутех5ОЫваке30 О. 330 Глава 9 ° наложение текстур то1с( к1соруТех5иЫеаВе30(С1.евши Гагдей СЕ(п( )еое! СЕ1пг хо!)зеГ, С11п( уоЯзес С(зп1 го)(зед 01.!пг х, 01.1п( у, С(.з1ге1 и!г!ГЬ, С1.з1хе1 Ье(яЬ!); Применяет данные изображения из буфера кадров для замены существующего изображения трехмерной текстуры или его некусочной области. Пикселы читаются из текущего буфера 6( МЕАО ВОР РЕР и обрабатываются так, как если бы была вызвана команда В1сору РЗ хе1з (), но вместо поступления в буфер кадров они помещаются в память текстуры. Сохраняют силу установки для В1Р1хе1Тгалзтег'() и других операций при передаче пикселов.

Аргумент Гагпет должен быть установлен в значение 6С ТЕХТОМЕ 30. Аргумент !еое! — номер уровня детализации множественного отображения. Массив парциального изображения текстуры берется из выровненного относительно экрана прямоугольника пикселов с координатами левого нижнего угла (х, у). Ширина (май) и высота (Ье(уЬг) указывают размеры прямоугольника неполного изображения.

Аргументы хо(!зег, уоД!зег и георг задают смещение в текселах в пределах существующего массива текстуры, по которому помещается неполное изображение. Поскольку парциальное изображение является двухмерным прямоугольником, замещается только одна вырезка (зрюе) трехмерной текстуры (вырезка, фиксированная по зо(!зеГ). Режимы хранения Г)икселов для трехмерных текстур Значения переменных режимов хранения пикселов управляют межстрочным пространством для каждого слоя (другими словами, одного двухмерного прямоугольника). Команда 31Р1ХЕ15тоге«() устанавливает эти режимы с помощью таких параметров, как *КО)( ЕЕМОТН, *А(16МНЕМТ, '5К1Р Р1ХЕ(5 и *5К1Р ЯОМ5 (где * — 6( ОМРАСК или 6( РАСК ).

Эти параметры управляют обращением к вложенному илн к полному прямоугольнику пикселов или тскселов. (Данные режимы ранее обсуждались в разделе «Режимы хранения пикселов».) Вышеупомянутые режимы сохраняют свою полезность для двух из трех измерений, но появляется потребность в дополнительных режимах для поддержки обращения к вложенным объемам данных трехмерных текстур. За их установку отвечают новые параметры, '1НАОЕ НЕ16НТ и '5К1Р 1НА6Е5, позволяющие подпрограммам В1Тех1ваВеЗО(), В1Тех5иЫеаВеЗО() и 616егтех1еаВе() обращаться к желаемым подобъемам (зцЬто1шпе). Если трехмерная текстура в памяти больше определяемого объема, вам нужно указать высоту отдельного неполного изображения с помощью параметра '1НАОЕ НЕ16НТ. Также, если подобьем не начинается с первого слоя, следует установить параметр '5К1Р 1НАОЕ5.

*1НАОЕ НЕ16НТ вЂ” это параметр, определяющий высоту (количество рядов) отдельного слоя изображения трехмерной текстуры. Если его значение нулевое (отрицательные числа недействительны), то количество рядов в каждом двухмерном прямоугольнике и есть значение Ье(уЬС которое передается в процедуру к1Тех1юайе30() или В1Тех5оЫааВе30(). (Это, может быть, лишние слова, так как значение *1НА6Е НЕ16НТ равно нулю по умолчанию.) Иначе высота отдельного слоя равна значению *1НАОЕ НЕ16НТ. Описание текстуры 331 На рис.

9.4 показано, как параметр *1НАЕЕ НЕ16НТ определяет высоту изображения (когда ЬещЬг определяет только высоту неполного изображения). Здесь изображена трехмерная текстура только с двумя слоями. '1мА6е не16нт Рис. 9.4. Режим сохранения пикселов *1МА6Е НЕ16НТ Рис. 9.5. Режим сохранения пикселов *ЕК1Р 1МА6ЕБ 332 Глава 9 ° Наложение текстур Параметр *5К1Р 1МА6Е5 определяет, сколько слоев пропускается до начала данных подобъема. Если этот параметр инициирован положительным целым числом (назовем его и), указатель на данные изображения текстуры продвигается сквозь несколько слоев (,и * — размер одного слоя текселов).

Результирующий подобъем берет начало в слое и н имеет глубину в несколько слоев — их количество задается аргументом 6(ертл, передаваемым в функцию 61Тех1ваоеЗОО или 61тех5ОЬ1ваКеЗО(). Если значение параметра *5К1Р 1МА6Е5 равно нулю (по умолчанию), доступ к данным текстуры выполняется с первого слоя, описанного в массиве текстуры. На рис. 9.5 показано, как благодаря параметру '5К1Р 1МА6Е5 можно пропустить несколько слоев, чтобы попасть туда, где в действительности начинается парциальный объем. В этом примере "5К1Р 1МАОЕ5 - 3, то есть подобьем берет начало в слое с номером 3.

Сжатые изображения текстур Карты текстур могут быть сохранены внутри Орепо1 в формате со сжатием с целью возможного уменьшения объема памяти, занимаемого текстурой. Изображение текстуры может быть сжато после его загрузки нли сразу загружено в формате со сжатием. Сжатие изображения текстуры во время его загрузки Чтобы получить сжатое изображение текстуры по ходу его загрузки, укажите одно из именованных значений 6Е СОМРКЕ55ЕО * для аргумента (п(егпа((опиак Изо- бражение будет автоматически сжато после того, как текселы пройдут обработку какими-либо активными операциями при сохранении пикселов (см. раздел «Ре- жимы хранения пикселов» главы 8) или при передаче пикселов (см.

раздел «Опе- рации при передаче пикселов» главы 8). После загрузки изображения вы можетс выяснить, сжато ли оно, и в какой формат, с помощью следуюшего кода: 6СЬоо1«ап соаргеяяее; 6(епча СехгигеЕогааС; 6(я!се! !вазе5!Хе; 616«СТехьече)рагаа«С«гсч(6( ТЕХТОКЕ го, 6с техтОКЕ ссмРКЕ55ЕО, асоаргеяяее): !Г (совргеяяео == 6( ТКОЕ) ( К16еСТехьече1РагааеСег!ч(6( ТЕХТОКЕ 2О, 61 ТЕХТОКЕ 1МТЕКМАС ЕОКМАТ, атехтигегогваС); 616«СТ«хьече)Р»гаветег!ч(6С ТЕХТОКЕ 2О, 6С ТЕХТОКЕ СОМРКЕ55ЕО 1МА6Е 512Е, $!вахе5!се); Загрузка ранее сжатых изображений текстур Ореном не предписывает какой-либо определенный внутренний формат сжатия для текстур; каждая реализация позволяет уточнить расширения Орепо), отвечающие за реализацию определенного формата сжатия.

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

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

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

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