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

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

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

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

главу 9 для получения большей информации о текаурах.) 278 Глава 8 ° Вывод пикселов, битовых образов, шрифтов и изображений Рис. 8.9. Пути пихсепов при выполнении д)Сорутех1п~аде"() и д)СорутехдиЫтаде*в Упаковка и распаковка пикселов Упаковываются или распаковываются пикселы, определяется тем, в каком направлении следуют данные — на запись или чтение из оперативной памяти. Изображение сохраняется в памяти в нескольких элементах.

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

Точное количество битов, используемых для представления компонентов, зависит от особенностей аппаратной части. Таким образом, сохранение каждого компонента в виде 32-разрядного вещественного числа часто теряет смысл, тем более что изображения могут содержать миллионы пикселов. Элементы могут сохраняться в памяти с различными типами данных, от 8-разрядного байта до 32-разрядного целого или числа с плавающей запятой. ОрепЯ. явно определяет преобразование каждого компонента в каждом формате для ка.

жного допустимого типа данных. Имейте в виду, что вы можете потерять данные, если попытаетесь сохранить компонент высокого разрешения с типом, предста. вимым малым числом битов. Конвейерная обработка изображений 279 га- зд- ве- раэго гся лотой «ты !ен- ясл, разаО1. ! каные, (ста- Режимы хранения пикселов Данные изображения обычно сохраняются в оперативной памяти в виде прямо- )гольных (двух- или трехмерных) массивов.

Часто нужно отобразить или сохранить только часть изображения, то есть вложенный прямоугольник. Кроме того, Аы должны принять во внимание, что различные компьютеры имеют различный грядок следования байтов. Наконец, аппаратное обеспечение некоторых машин куда более эффективно работает с данными, выровненными по 2-, 4- или 8-байтоюй границе оперативной памяти. Для таких компьютеров вы, вероятно, пожелаеп управлять выравниванием. За все, что было упомянуто в этом абзаце, отвечают (вжнмы хранения пикселов, обсуждаемые ниже. Вы указываете эти режимы с по- нощью команды к1Р! хе15(оге«(), которую мы пока просили проигнорировать А паре наших примеров.

Все поддерживаемые Орепб(. режимы сохранения пикселов управляются команмй к1Р! хе!5(оге«(). Как правило, выполняется несколько последовательных вызовов атой команды с целью установить значения нескольких параметров. ток) к1Р! хе151оге(!()(О(.еппп! рпате, ТУРЕ рагат)! Устанавливает режимы сохранения пикселов применительно к операциям 310ганР!хе1зО, 61кеаПР(хе1з(), к1В!тварО, к1Ро1укоп51!рр1еО, к1Тех1ваке10(), В1Тех1вабе20О, к1Тех1вакеЗР(), к1Тех5оЫваке10О, к1Тех5эЫваке20(), к1Тех5иЫвакеЗРО, к16еттех1вакеО и, если поддержана конвейеризация обработки изображений, также к к16е(СЬ1огТаЫе(), 316е(Сопке!ит(опт!1(егн, В16е!5ерагаЫеР!1(ег(), к16е(Н(этокгав() и к16е!Н(пвах().

Возможные имена параметров (рлате) представлены в табл. 8.4 вместе с типами данных, начальными значениями и допустимыми диапазонами значений. Параметры 6С РМРАСК* управляют тем, как выполняют распаковку данных из памяти функции к10гаиР(хе1э(), к1В(!вар(), к1РЬ1укоп511рр1е(), к11ех1вэке10О, к1Тех1ваке20(), к1Тех1вакеЗОО, к1Тех5иЫваке10О, к11ех5оЫваке20О н к1Тех5оЫваке30(). Параметры 6! РАСК* аналогично отвечают за упаковку в память при выполнении В1кеаПР| хе!э() и к16етТех1ваке О и, если доступна конвейеризация, также для к16е(Со!о гТаЫе (), к16е(сопчо1ит!опР!11егО, к16ет5ерагаыеГ!1тегО, к16етн(зтокгавО и к16е(Н! эвах О.

Параметры 6С РМРАСК 1МА6Е НЕ16НТ, 6! РАСК |НА6Е НЕ16НТ, 6С РМРАСК 5К1Р |НА6Е5 и 6С РАСК 5К1Р 1НА6Е5 затрагивают только ЗТ)-текстурирование (к1Тех1ваке30(), к1Тех5иЫвакеЗРО и к16етТех1ваке(6С ТЕХТРКЕ 30, )). Пескольку соответствующие упаковке и распаковке параметры имеют одинакоАые значения, они обсуждаются далее вместе и упоминаются без префикса 6! АА(кили 61 РМРАСК. Например, '5ИАР ВТТЕ5 подразумевает как 61 РАСК 5ИАР 1(ТЕ5, таки 6С РМРАСК 5ИАР ВТТЕ5. Егли параметр *5ИАР ВТТЕ5 равен РА!5Е (по умолчанию), действует «родной> пя клиента Орепб(.

порядок следования байтов в памяти,и в противном слуцк — обратный. Изменение порядка следования применимо к элементам любого кивера, но имеет смысл только для многобайтовых элементов. 280 Глава 8 ° Вывод пиксепов, битовых образов, шрифтов и изображений Таблица 8.4. Параметры команды 9)Р~хе)51оге1) Значение Допустимый диапазон иницмализации Название параметра Тип 6СЬоо)еап ГА15Е 6СЬоо)еап ГА15Е 61 0МРАСК 5УУАР ВУТЕ5, 61. РАСК 5УУАР ВУТЕ5 61 0МРАСК С58 Г)Я51, 61,РАСК 158 Г1й5Т 66 0МРАСК ВОУУ СЕМОТН, 66 РАСК ПОУУ СЕМВТН 66 0МРАСК 5К1Р ЙОУУ5, 6С РАСК 5К1Р КОУУ5 6С 0МРАСК 5К1Р Р!ХЕС5, 61.

РАСК 5К1Р Р1ХЕЕ5 61 0МРАСК АС16ММЕМТ, 61 РАСК АС16МНЕМТ 61 0МРАСК 1МА6Е НЕ16НТ, 61 РАСК 1ИАОЕ НЕ16НТ 61 0МРАСК 5К1Р 1МА6Е5, 61 РАСК 5К1Р 1МА6Е5 ТВОЕ/ГАЗ.5Е ТВОЕ/ГАС5Е Любое неотрицательное целое число 60пт 60пс Любое неотрицательное целое чнсяо Любое неотрицательное целое число 6 0пс 60пс 1, 2, 4, 8 6 0пс Любое неотрицательное целое число Любое неотрицательное целое ч н ел о 6 0пс Эффект от перестановки байтов может различаться от реализации ОрспСЕ к реализации.

Так, рис. 8.10 иллюстрирует перестановку байтов для различных типов данных в предположении, что в некоторой системе тип С) цЬусе имеет размер 8 бит, С1 цзЬогт — 18 бит и СЬц)пт — 32 бита. Заметьте, что перестановка не влияет па однобайтовые данные. 76543210 765 43210 — и. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 О 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 31 30292827262524232221201918171615141312111098 7 6 5 4 3 2 1 0 7 6 б 4 3 2 1 01514131211109 8232221 20191817163130292827262524 Рис.

8.10. Эффект для перестановки байтов для типов Вуге, 5поп и 1псейег ПРИМЕЧАНИЕ Пока ваше приложение Орепбь работает с изображениями само по себе, не разделяя их с другими машинами, вы можете игнорировать аспект порядка следования байтов. Но если оно должно воспроизвести изображение ОрепЯ., созданное на другой машине, с иным расположением байтов в слове, параметр *5ууАР ВТТЕ5 в вашем распоряжении. Тем не менее параметр '5ууАР ВУТЕ5 не позволяет переупорядочивать элементы 1например, переставлять местами зеленый и красный).

Конвейерная обработка изображений 281 Параметр 'Е5В Р1к5Т применяется только при отображении или чтении одноРазрядных изображений или битовых образов (где одному пикселу соответствует один бит). Если значение 'ь5В Е1п5Т равно РАс5Е (по умолчанию), биты каждою байта отсчитываются от позиции самого старшего бита; иначе подразумевается противоположный порядок.

Например, если *Е5В Р1к5Т равно РАЕ5Е, а интересующий байт — Ох31, биты следуют в последовательности (О, О, 1, 1, О, О, О, 1). Если 'Е5В Р185Т равно ТВОЕ, эта последовательность выглядит так: (1, О, О, О, 1, 1, 0,0), Часто аппаратные средства компьютеров оптимизированы под выровненные а памяти данные. Например, если длина слова в компьютере 32 бита, оборудованае с большей эффективностью будет обращаться к данным, выровненным по 32- )взрядной границе, адреса которых обычно кратны 4. Аналогично, 64-битовые архитектуры могут работать лучше, когда данные выровнены по 8-байтовым границам.

На некоторых компьютерах, тем не менее, выравнивание не играет роли. а>в зр я- и- но ~й- ,Р ый Рис. В.11. Параметры ~5К1Р ЙОМ15, *5К1Р Р1ХЕ(5 и *ПОЧ/ ЬЕНОТН Предположим, что ваша машина лучше справляется с пикселами, выровненными па4-байтовой границе. Изображения хранятся с учетом этого фактора, и каждый Рад начинается с адреса, кратного 4 байтам. Если изображение имеет ширину Иногда нужно отрисовать или прочитать только прямоугольник, являющийся пстью изображения, сохраненного в памяти. В таком случае требуется указать аействительную длину (в пикселах) большего прямоугольника с помощью параиетра *ЯОи 'сейстн.

если значение *РОи еемстн нулевое (по умолчанию), длина рвда приравнивается ширине, указанной в В!РеаоР1ХЕ1а(), к1ОгаиР1ХЕ1а() или 11(оруР1хе1э(). Также требуется задать количество рядов и пикселов в рялу, пропускаемых перед копированием вложенного прямоугольника. Эти числа задаются параметрами *5К1Р ПОИ5 и '5К1Р Р1ХЕЕ5, как показано на рис. 8.11. По уиолчанию оба значения равны О, то есть обработка осуществляется от левого нижнего угла.

282 Глава 8 ° Вывод пикселов, битовых образов, шрифтов и изображений 5 пикселов и для каждого пиксела отводится по байту на компонент (красный, зеленый и синий), то вся строка займет 5 х 3 - 15 байт. Для достижения максимальной эффективности требуется дополнительное выделение еще одного байта под каждую строку. Если данные выровнены подобным образом, следует задать параметр»ЯЕ16ММЕМТ (4 в нашем случае). Если значение»АЕ16МНЕМТ установлено в 1, задействуется каждый байт. Если оно равно 2, при необходимости пропускается один байт в конце строки для того, чтобы следующая строка начиналась с четного адреса.

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

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

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

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