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

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

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

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

1щай(пй БцЬзег будет вам полезно, если вы хотите иметь больше возможностей, чеи предоставляют операции В1Рт хе1т гад зте г» () и В1Рт хе1Иар» () . Поскольку (тай(пя БцЬзег является расширением, то для того, чтобы убедиться в его присутствии в своей реализации, нужно посмотреть на значение параметра 51 АкВ тиадтпВ. Если эта константа определена, вам доступны все новые возвожности. Больше информации вы найдете в подразделе «Расширения стандарта» главы 14. функции подмножества доступны всякий раз, когда Ореол читает или передает пикселы.

К числу операций, на которые воздействуют функции 1тая(пй ЯцЬзец относятся: ° отображение и чтение пиксельных прямоугольников: В1йеаертхе1з(), к10гаи- Р! хе1в О, а1СоруР1хе1з О; ° задание текстур: В1Тех1иаае10О, а1Тех1иаде20О, к1Сорутех1иаае*о О, е15цЬТех1щаде10О, В15цЬТех1иаде2П() и В1Сору5цЬТех1иаде»0(). Рисунок 8.14 иллюстрирует операции, выполняемые 1шай(пй БцЬзес над пикселави, обрабатываемыми ОрепС1. Практически любые возможности расширения когут быть отключены или включены, кроме матрицы преобразования цветов, доступной всегда.

Входной поток кпупакоаанн пикс одной оток салоп Рис. 6.14. Операции расширения 1пъзд!пд ВцЬвее 294 Глава В ° Вывод пикселов, битовых образов, шрифтов и изображений Таблицы цветов Таблица 8.7. Использование таблиц цветов в конвейерной обработке изображений Операции над пикселами Параметр таблицы цветов Место, где пикселы попадают в конвейер После свертки После преобразования матрицей цвета 61 СОСОЙ ТАВСЕ БС Р05Т СОМЧОС0110М СОСОР ТАВСЕ 60 Р05Т СОСОЙ МАТй1Х СО(Ой ТАВСЕ Функция 81ЕпаЬ)е() делает доступной каждую из перечисленных зз табл. 8 7 таблиц цветов, принимая значения из левого столбца в виде аргумента.

Задание таблиц цветов Таблицы цветов задаются подобно одномерным изображениям. Как показано нз рис. 8.14, есть три таблицы, доступные для модификации пиксслов. Для указания на конкретную таблицу используется операция 81СЬ1огТаЬ(е (). УЬЫ 8\Со1огтаЬ(е(О).епцв сагбей 01епшп (пгегпа!го пай С).яяе( со!с(г)з. С1еппв )оггпай С).еппв игре, сова( С).уоЫ 'с(ага); Задает указанную таблицу цветов, в зависимости от того, чему равен аргумент Гагяес — БС СОСОР ТАВСЕ, БС Р05Т СОМН010110М СОСОЙ ТАПСЕ или БС Р05Т СОСОР МАТР1Х СОСОР ТАВСЕ.

Еслисазцесустановлен вБС РРОХУ СО(Ой ТАВСЕ, БС РРОХУ Р05Т СОМНОСОТ10М СОСОР ТАВСЕ или БС РЙОХУ Р05Т СО(ОР МАТЙ1Х СОСОР ТАВСЕ, команда 81СЬ1огТаЬ1е() проверяет, можно ли отнести указанную таблицу к доступным ресурсам или нет. Аргумент !пгетиа!Гоггпаг определяет представление Орепб(., в котором хра- нятся данные (стаса).

Это одно из следующих символических имен: 61 АСРНА, БС АСРНА4,61 АСРНАВ, БС АСРНА12,61 АСРНА16, 61 10М1МАЙСЕ, БС 00М1ЙАЙСЕ4, БС СОМ1МАМСЕВ,БС СОМ1ЙАМСЕ12,61 СОМ1МАМСЕ16,61 СОН1МАМСЕ АСРНА,БС СОМ1МАМСЕ4 АСРНА4, БС СОН1МАМСЕБ АСРНА2, БС 10М1ЙАМСЕВ АСРНАВ, Бс СОМТЙАЙСЕ12 АСРНА4, БС 10М1МАМСЕ12 АСРНА12, 61 СОМ1ЙАМСЕ16 АСРНА16, 61 1МТЕМ51ТУ, БС 1МТЕМ51ТУ4, БС 1МТЕЙ51ТУВ, 61 1ЙТЕМ51ТУ12, БС 1МТЕМ- 51ТУ16, БС Р68, БС РЗ 65 82, БС 8684, БС Р685, 61 Р688, БС Й6810, 61 Р6812, 61 Р6816, БС РБВА, БС РБВА2, БС РБВА4, 61 8685 А1, БС РБВАВ, 61 РБВ10 А2, 61 РБВА12 и 61 РБВА16. Аргумент спас)з должен быть степенью 2, указьвает количество пикселов в таблице цветов.

Аргументы )огтпаг и гуре описывают формат и тип данных в таблице цветов. Их значения эквиваленты соответствующим парамстраи 810гаирт хе1з (). Таблицы цветов — это таблицы подстановки, предназначенные для замещения цвета пикселов. В приложениях таблицы цветов могут быть использованы для изменения контраста, фильтрации и исправления (ес)паззхас(оп) изображений. Доступны три различные таблицы подстановки, работающие на разных атапах конвейерной обработки. В табл. 8.7 показано, в каком месте конвейера может быть применена соответствующая таблица. Расширение 1(пай!пй 5иЬзег 295 Внутренний формат таблицы отвечает за то, какие компоненты будут замешены.

Например, если выбран формат 66 КОВ, это будут красный, зеленый и синий компоненты. Таблица 8.8 описывает соответствие мех(ау замещаемыми компо- нентами и внутренними форматами. Таблица 8.8. Замещение пикселов по таблице цветов Зеленый компонент Синий компонент Нрасный компонент Основной внутренний формат Альфа- компонент :т Не изменяется Не изменяется Не изменяется А, Не изменяется 1г В, в, А, Не изменяется А, Здесь обозначение [., представляет элементы яркости, оно имеет отношение только к красному, зеленому и синему компонентам. Обозначение 1, соответствует элементам интенсивности, то есть тем жс НОВ-компонентам плюс альфа-компоненту.

После применения таблицы цветов к изображению можно масштабировать или отклонить ()у[аз) его пикселы, а далее их значения преобразуются к диапазону '[ОГЦ, Факторы 66 СОЬОК ТАВЕЕ 5САЕЕ и бь СОСОК ТАВЬЕ В1А5 устанавливаютсядля каждой таблицы командой В1СЬ1огтаЬ(ерагамесег*(). на ГИЯ то[с) В1Со1огтаЬ)ерэгаметег([()и(С[.епизп Гауес, ОТепиптрлате, ТУРЕ "рахат); Устанавливает параметры 66 СОСОК ТАВСЕ 5САСЕ и 66 СОСОК ТАВСЕ В1А5 для каждой таблицы цветов.

Аргумент гаг)(е7 — зто одна из следующих кон- стант; 6С СОСОК ТАВСЕ, 66 Р05Т СОМЧОГ ОТ10М СОСОК ТАВСЕ или 6С Р05Т СОСОК НАТК1Х СОСОК ТАВСЕ, он указывает саму таблицу цветов. Возможные значения для рлате — это 6С СОСОК ТАВСЕ 5САЬЕ и 61 СОСОК ТАВсЕ В1А5. Значением аргумента рогат является массив из четырех значений, представ- ляющих красный, зеленый, синий и альфа-модификаторы в атой последова- тельности. ент 5Т )СЕ, ОК сти Листинг 8.5 показывает, как с помощью таблицы цветов можно инвертировать юображение, то есть заменить каждый цветовой компонент инверсным ему.

Листинг 8.5. Замещение пикселов с помощью таблицы цветов: со[оггаЫе.с ех(его бсииуте* гевЕТмабе(сопят сиаг', бсз1ке1*, бьз1зе!* ); 6ШЬуте *рпхе1з; 6Ы!гез н!итп, Ье16ЬС; хо(В (пзт(то!д) ( 1п( 1; 6(иоуте со1огТвще [256] [3); елов ых в трам продолжение,о сра- РНА, СЕ4, 6(. 61. 6[. ГЕН- 61. 61. 6( А(РНА 6( ЕОИ1МАМСЕ 6( [ОНТМАМСЕ АСРНА 6[ !МТЕМ51ТУ 61 КОВ 6[ РЕВА ц ц 1г К, Кг ц 1, б~ 6, 296 Глава 8 ° Вывод пикселов, битовых образов, шрифтов и изображений Листинг 8.5 (продолжение) р1хе15 = ге а01вазе (" Вата/]ееаз. Ы п", ан101П. Вне]ВЬ 1); 61Р]хе151оге1(60 ОМРАСК А(16ММЕМТ, 1); 61С1еагСо1ог(0, О, О, 0); /* Формирование таблицы инверсных цветов 'l тог (! = 0; ! < 256; ++1) ( со1огТаЫе(1) (В] = 255 - 1; со1огТаЫе(1]( 1] = 255 - 1; со1огТаЫе(!](2] = 255 - з; ) 61Со1огТаЫе(60 СОСОР ТАВ(Е.

6( РОВ. 256, 60 КОВ, 6( Вй516йЕО ВУТЕ. со1огТаЫе): 01ЕпаЫе(6( СОСОЯ ТАВСЕ); то! 0 01 зр1а у (то!0) ( 0161еаг(60 СОСОК ВВЕРЕН В1Т); 01аазтегРоз21(1, 1); 610ганРзхе15(н101Ь. Пе! Влт, 60 а6В, 60 Ой516МЕО ВТТЕ, р]хе15); В1Р1цзл(); ПРИМЕЧАНИЕ Листинг 8.5 включает в себя процедуру геао]глаоеО, введенную для упрощения структуры про. граммы.

В общем, вам требуется такого рода подпрограмма, умеющая читать изображение из файла. Формат файла, понимаемого геаа]гладе(), сводится к следующим принципам: ширина изображения (и!00п) имеет тип ЯзаеЬ высота (Ье!ОЫ) — тип 6(з]зеЬ при сохранении РОВ триад (КОЛИЧЕСТВОМ Ш]ОШ х ЬЕ!ОЫ) дпя КаждОГО КОМПОНЕНта ИСПОЛЬЗуЕтея тнл Я.цоу(Е. В дополнение к явному заданию таблицы цветов вы можете захотеть использовать изображения, созданные в буфере кадров, в качестве определения для таблицы цветов. Операция 61СоруСО1огтаЫе() позволяет указать отдельный ряд пикселов; с целью считывания его из буфера кадров для дальнейшего включения в таблицу цветов. уо]с( 61 С о руСо1 0 г Та Ы е(С( епшп (агнес, б(еп опт (птегла]гогглад С] ]пС х, С(]01 у, О(л]ге( нлг(гг!); Создает таблицу цветов из данных буфера кадров, используя их как элементы таблицы цветов.

Пикселы читаются из текущего буфера 61 КЕАО ВОТРЕМ и обрабатываются как при вызове 61Сорур ! хе15 (), но без «паузы перед конечным преобразованием. Здесь применяются настройки команды 01Р1хе1Тгапзтег'(). Аргумент (атлет должен быть установлен на одну из таблиц командой к1Со1о гТаЫе () . Для аргумента гл(егла(гоггпат используются те же символические константы, что для одноименного аргумента к1Со1огТаЫ е () . Массив цветов задается строкой буфера кадров с шириной (клг(гл) и начальной позицией (х, у). Замена всей таблицы цветов или ее части Если нужно заменить часть таблицы цветов, используйте операции В1С01ог50ЬТаЫе() и 61Сорусо1ог50ЬТаЫеО. Расширение ?тар)па Вцьзе? 297 чо((? 61СО1ог5оЬТаЬ1е(01 епшп Гатяеб О?.в(ге? ятагг, С?.в?ге? соил(, О?.епцт /оплат, О?.спцш (уре, сопя! С?.чо?т? *г?аса) Заменяет элементы таблицы цветов, начиная с элемента ягагг и заканчивая элементом зтатт + соил( — 1, значениями из массива Ната.

Аргумент Гагяет — это 61 СО(ОЙ ТАВСЕ, 61 Р05Т СОННО?ВТ10Н СОЕОР ТАВСЕ нлн 6С Р05Т СОСОЙ ИАТЙ?Х СОСОЙ ТАВСЕ. Аргументы/оп)пас и Гуретакие же, как для 6!со?огТаЫе (), но относятся к массиву !?ага. чо?т? 61сорусо1ог5оЬТаЫе(0?.епц)п Га!Вет, СЕз?ге? зтагг, С?.(пс х, С?тпг у, 61в?ге1 соипг); Заменяет элементы таблицы цветов, начиная с элемента з(аг( и заканчивая элементом згагг + свинг — 1, где соипг — количество пикселов в строке буфера кадров, начинающейся с позиции (х, у). Пикселы преобразуются во внутренний формат (тпгегпа?йогтпа() таблицы цветов. 3Впрос значений из таблицы цветов Пнкселы, сохраненные в таблице цветов, могут быть извлечены с помощью коинды д16етсо1огтаЫе (). Подробно см, раздел «Команды запроса» приложсння Б.

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

Список файлов книги

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