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

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

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

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

Сохранение состояния после выполнения списка отображения 91кеи()а(О)ат)пеех,01 СОНР11»; 91Со1огЗГ(1.8. 9,0, 8.0); 818еа(п(01 РОЕЧВОИ); 81Негтех2Г(9.8, 9.9); 91Нег(ех2(( 1.9, 9.9]; 91Че ггех2 Г (8. 8, 1. О); 91Епп»: 91тгапа(ага((1.3, 9.8, 8.0); 91Епв» а((); Если теперь вы вызовете следующую последовательность команд, линия будет нарисована красным (текущим) цветом и дополнительно сместится на значение (1.5, 0.0, 0.0): 81Са11(аз((1га(1ппех); 919е91п(0( Е)МЕ5); 81Нагтех2((2.9,- 1.9); 91Чегтех2(( 1.8, 8.9); 81Епп(); С переменными состояния обращаются по-разному.

Можно либо оставить изменения в силе, либо, наоборот, предварительно перед обработкой списка зафиксировать состояние и восстановить его по окончании выполнения списка. Это ваше право, но помните, что команда я16ег" () в списке отображения недоступна и, таким образом внутри него нет возможности запросить текущие переменные состояния. В то же время в вашем распоряжении имеется команда а1РозЛА11г(ЬО, позво. ляющая сохранить разом несколько переменных состояния, и команда я1Рордттг1Ь() — для восстановления значений. Чтобы сохранить и восстановить текущую матРицу, используйте команды 81Розйнатг(х() и 81Рорнатг(х() согласно рекомендациям раздела «Операции со стеком матрнг(ы» главы 3.

Эти Управление параметрами состояния с помощью списков отображения 257 команды могут легально кэпшроваться в списке отображения. Чтобы восстаиовить значения переменных состояния из листинга 7.6, мы могли бы воспользоваться кодом из листинга 7.7. Листинг 7.7. Восстановление значений переменных состояния изнутри списка отображения 'Е)йеи(т «1(1! «1! по ах,о! СОИР! ! Е); 91Рц«лиатг!х(); 91Рц«ПА11гть(0! СОяаЕИТ В1Т); 91СЬ1огзт(1.9, 9.0. 0.0); 91Веа(п(ОЕ РОСЧООя), 91Чегтех?т(9.9. О.О); В!Чвгтвхгт(!.9.

О.О); В!Честен?т(9.9, 91Епб (); В(тгап«1а!ет(1.9. О.О. О.О); 91РорА1(г! Ь(); В!Рорла 1 г ! х (); 11 ! об С ! «1(): Если вы прибегнете к варианту листинга 7.7, с помощью кода листинга 7.8 вы сможете нарисовать линию зеленого цвета, в прежней позиции. Если вы воспользуетесь списком отображения из листинга 7.6, то есть ие сохрапите (и ие восстановите) состояние, линия будет красной, а ее позиция каждый из десяти раз бужт смешаться иа значение (1.5, 0.0, 0.0). Листинг 7.8.

Пример того, как список отображения может или не может кваействовать на с)гач/Е)пе() чо!б б(«р1ау(хотб) ( 0(!пт (; 91С1еаг(СС СО!Ой ВОЕРЕЯ В1Т); 9!Со(агэт(9.9, 1.0, 0.0), /' установить текущим цветом зеленый */ тот (! = 9; т < 10; 1<+) 91Са11(т«1(11«1!пбех); /* список отображения выполняется 19 раз '/ бган!(пе(); /* гле появляется пиния и каким цветом она окрашена? */ Е1Р(ц«Ь(); ) Инкапсуляция изменений режима Вы можетс использовать списки отобралсеиия для организации и сохрапения групп команд, измсияк)щих атрибуты режимов, или для варьирования паракетров.

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

В этих 288 Глава 7 ° Списки отображения случаях вы увидите, что списки отображения близки по скорости выполнения к эквивалентным непосредственным вызовам, но помните, что спискам отображений присусци дополнительные издержки на само их поддержание при выполнении. Листинг 7.9 показывает, как использовать списки отбражения для переключения лсежду тремя различными шаблонами штриховки. Сначала вызывается 616елС! 515() для выделения индексов для каждого образца, и затем для всех трех создаются списки отображения. В результате этой подготовки можно использовать команду к1са111 ! зс () для переключения с одного шаблона на другой. Листинг 7.9.

Списки отображения для изменения режима 6СЫоС остзеС; огтееС = 516ееь(згз(3); 51кен« 3С(етгзеС, 66 СОНР(СЕ), 510(заЫе(61 С1МЕ 5Т1РРСЕ); В(ЕлЕС!3С(); В(Меис(зС(остзеСР1, 6С СОНР1СЕ); 51ЕпаЫе(6С 11МЕ 5Т1РРСЕ); 51С(пе5С(рр1е(1, Вхвуеу); 51ЕпеС(зС(); 51ненС(зС(оу(ее(+2, 6С СОИРХСЕ); 51Елаые(6С С1МЕ 5Т!РРСЕ); 51С(ле5С(ррсе(1, Охпы); 5(ЕлЕС(зС(); Еоег(пе Огаиолеь(пе(х1,71,х2,у2) 51вев(л(6С С1МЕ5); 51ЧегСех2(((х1),(У1)); В1Чегтех2(((х2),(У2)); 51Епо(); 51Са11С(зС(о(тзег); егаиопеС(пе(50.0, 125.0, 350.0, 125.0); 51Са11С(3С(ос(ее!+1); Еганопеь(пе(50.0, 100.0, 350.0, 100.0); 51са11с(зс(огсзесч2); Еганопеь!пе(50,Э, 75.0, 35В.О. 75.Э); Вывод пикселов, битовых образов, шрифтов и изображений После прочтения этой главы вы сможете." ° Позиционировать и отображать данные в виде битовых образов ° Считывать пикселы (битовых и иных изображений) из буфера кадров в оперативную память и из памяти обратно в буфер ° Копировать пикселы из одного буфера цвета в другой или в другую позицию того же буфера ° Увеличивать или уменьшать изображения при их записи в буфер кадра ° Управлять форматированием пикселов и выполнять другие преобразования данных во время их передачи в буфер и обратно ° Выполнять обработку пикселов с помощью расширения 1гпаупц 5ц Ьвег 260 Глава 8 ° Вывод пикселов, битовых образов, шрифтов н изображений До этого времени в руководстве основное внимание уделялось воспроизведению векторных данных — точек, линий и многоугольников.

Теперь мы рассмотрим визуализацию данных двух других важных классов ОрепО1г ° битовых (двоичных) образов, которыми обычно представляются символы шрифта; ° изображений, как просто отсканированных, так и сгенерированных программно. Оба этих типа являются прямоугольниками — двумерными массивами пикселов. Единственная разница между ними состоит в том, что для битового образи (Ыгшар) каждый пиксел представлен одиночным битом, а изображения (1п1айе) обычно подразумевают соответствие каждому пикселу нескольких элементов данных (например, информацию о компонентах: красном, зеленом и синем). То есть битовые образы подобны маскам, накладываемым на другие изображения, а изображения перезаписываются на месте других данных в буфере кадров илн смешиваются с ними. В этой главе рассказывается, как передать на отрисовку пикселы из оперативной памяти в буфер кадров и как считать их в обратном направлении.

Здесь также описывается, как копировать пикселы из одной позиции в другую, между буферами или в пределах одного буфера. ПРИМЕЧАНИЕ Орелбс не поддерживает чтение пнкселов в файл н чтение нх нз файла. Эта глава состоит из следующих основных разделов; ° Битовые образы и шрифты. Здесь описываются команды для позиционирования и рисования данных, представленных битовыми образами. Битовые образы обычно используются для представления шрифтов.

° Изображения. Предоставляет базовую информацию о рисовании, чтении и копировании пикселов. ° Конвейерная обработка изображений. Описывает операции, производимые над изображениями и битовыми образами во время чтения их из буфера кадров и записи их в буфер. ч Чтение и риСование прямоугольных областей. Здесь вы найдете подробные сведения о том, как пикселы хранятся в оперативной памяти н что с ними происходит при извлечении пх из памяти и сохранении в ней. ° Советы по увеличению быстродействия вывода пикселов. Список советов, направленных на лучшую производительность операций рисования пикселоа.

° Расширение !шайшй ЯцЬзег. Информация о расширении ОрепСБ для дополнительной обработки пикселов. В большинстве случаев действия над пикселами сводятся к простейшим операциям, поэтому для понимания того, как создать соответствующее приложение, вам достаточно ознакомиться с первыми тремя разделами этой главы. Но манипулирование пикселами может быть и более сложным делом — пикселы можно Битовые образы и шрифты 261 нв-разному хранить в памяти и выполнять их передачу в буфер и обратно также разными способами.

Этим тонкостям посвящен четвертый раздел главы. Скорее всего, информация этого раздела вам понадобится не ранее того момента, когда вы перейдете к практическим действиям. Здесь вам окажутся полезными рекомендации разлела «Советы гю увеличению быстродействия вывода пикселовм В реализации ОрепОЕ версии 1.2 гюявилась упаковка данных (таких как 6Е 'эй516ИЕО ВУТЕ 3 3 2 и 6Е ОИ516ИЕО ТИТ 10 10 1В 2) в форматы ВСКИ ВСКА. В этой же версии появился набор операций над изображениями, включающий в себя преобразование цветовых матриц, подстановку цвета по таблице, гистограммы н дополнительные операции смешивания (81В1епо ециагцоп О, 6101еппсо1ог () и еще несколько констант режимов). Это расширение получило название!тай!пд Уибхег.

В версии 1.4 эти новые операции смешивания были переведены на урояень ялра Орепб) . Версия 1А также позволила испольэовать функции смешивания источника 61 5ЦС СОЕОИ и 6Е ОИЕ И1И05 5ИС СОЕОИ так же, как 61 05Т СОЕОИ и 6Е ОИЕ Н)И05 05Т СОЕОИ вЂ” целевые функции смешивания. Еще в ней появилась функция 51И! пвоиРоэ* О для указания растровой позиции в системе оконных координат. Битовые образы и шрифты Битовый образ (Ьйшар) — это прямоугольный массив, состоящий из нулей и единнн, который служит маской для прямоугольной области окна.

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

команды В1иаэгегроэ«() (или альтернативная ей 61И1пооиРоя* О) и 81В)алваро позиционируют и отображают на экране только одни битовый образ. В дополнение к этому имеется механизм списков этображения, позволяющий обработать последовательность из кодов символов, связанных по индексу с соответствующими битовыми образами.

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

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

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