М. Ву, Т. Девис, Дж. Нейдер, Д. Шрайнер - OpenGL. Руководство по программированию (Библиотека программиста) (2006) (1124363), страница 3
Текст из файла (страница 3)
для их повторного использования. Это необходимо для увеличения скорости ОрепС1.-программ. ° Глава 8, «Вывод пикселов, битовых образов, шрифтов и изображений», обсуждает работу с двухмерными объектами, такими как битовые образы или изображения. Типичное применение битовых образов — описание символов шрифтов. ° Глава 9, «Наложение текстур», показывает, как наложить одно-, двух- или трехмерные изображения, называемые текстурами, на трехмерные объекты. Множество удивительных эффектов достигается наложением текстур. ° Глава 10, «Буфер кадров», описывает все возможные буферы, существующие в ОрепСЕ, и их использование. Буферы применяются для удаления невидимых поверхностей, маскирования, размытия и фокусировки резкости.
° Глава 11, «Мозаичное представление и поверхности второго порядка», показывает, как использовать функции разбиения и квадрирования в С1Х (ОрепС1. 1Л111су ЫЬгагу). ° Глава 12, «Вычислители и Х1ЖВБ», учит работе с дополнительной техникой эффективного построения кривых и поверхностей. ° Глава 13, «Выбор и обратная связь», объясняет, как используется механизм выбора в ОрепС1. для выбора объекта на экране.
Кроме того, глава рассказывает о механизме обратной связи, позволяющем осуществлять доступ к информации, которую ОрепСЕ выводит при прорисовке и которую можно использовать при рисовании сцены. ° Глава 14, «Теперь, когда вы знаете многое», дает информацию о нестандартном использовании ОрепСЕ для получения интересных результатов. Эти приемы выработаны за годы с момента появления ОрепСЕ и его предшественницы 1К15 СгарЬ1сз 1зЬгагу от дайсон СгарЬ(сз. Кроме того, книга содержит несколько приложений, которые могут вам приго- диться. Что нового в зтои издании 17 ° Приложение А, «Порядок выполнения операций», дает технический обзор выполнения операций ОрепС(., краткое их описание в порядке, в котором они выполняются при запуске программы. ° Приложение Б, «Параметры состояния», содержит список параметров, используемых в ОрепС1., и описывает их значения.
» Приложение В, «ОрепС1. и оконные системы», кратко обозревает библиотеку, управляющую оконными операциями, В пем обсуждаются оконные интерфейсы Х ЪПпдоч Яузге1п, Арр!е Мас1пгой, 1ВМ 05/2 и Мгсгозо1с ЪУ1пг1о~чз. ° Приложение Г, «Основы С1Л)Т: инструментальный набор пакета разработчика ОрепСВ», рассматривает библиотеку, управляющую операпиями оконной системы. Библиотека СШТ вЂ” машинно-независимая, и она позволяет создавать более короткий и понятный программный код.
° Приложение Д, «Вычисление векторов нормалей», объясняет, как вычислить векторы нормалей для различных типов геометрических объектов. ° Приложение Е, «Однородные координаты и матричные преобразования», акцентирует внимание на математических операпиях, скрытых за матричными преобразованиями. ° Приложение Ж, «Приемы программирования», содержит несколько основанных на замыслах проектировщиков ОрепСБ советов по программированию, которые вы можете счесть полезными. » Приложение 3, «ОрепС1. и инвариантность», уточняет, когда и где при выполнении ОрепСВ-программ должны генерироваться точные значения пикселов согласно спецификации ОрепС1..
Наконец, небольшой словарь определяет ключевые термины, встречающиеся в атом руководстве. Что нового в этом издании Четвертое издание ОрепСЕ Ргоратттд Синуе включает в себя новый и обновленный материал, относящийся к ОрепС1. версий 1.3 и 1А: ° Новые возможности ОрепС1. 1.3: о мультивыборка; с строковый порядок матриц; о расширенное текстурирование, включая «кубические» текстуры, сжатые текстурные изображения, новые методы режима текстурирования (66 А00 и 66 СОИВ1ЯЕ) и новый метод сжатия текстур (66 С~АМР ТО ВОРПЕк). ° Новые возможности ОрепС1.
1А: с многократное рисование массива вершин; о спецификация положения растра, основанная не на внешних, а на оконных координатах; 18 06 этой книге о новая функциональность смешивания (Ыепг)!пй), в том числе разделение ЯСВ и альфа-смешивание; о координаты тумана, которые могут быть однозначно связаны с вершинами; о параметры точки, управляющие атрибутами отрисовки точечных примитивов; о вторичный цвет для приложений с посзтекстуризацией; о новые возможности текстурирования, такие как уровень дега.лизации для М!Р-текстур, автоматическое восстановление М! Р-текстур, режим текстурирования 6Е Н1РРОРЕП РЕРЕАТ и глубина текстур; о операции, которые позволяют «оборачивать» трафарет вокруг объекта, а не только привязывать его к минимальному и максимальному значениям.
° Ялро ОрепС!. было обновлено и приведено в соответствие с набором возможностей мультитекстурирования. ° Исправлены ошибки. Что необходимо знать перед прочтением Для того чтобы понимать содержание книги, нужно уметь программировать на языке С и иметь начальные знания по математике (геометрии, тригонометрии, линейной алгебре, дифференциальному исчислению и дифференциальной геометрии). Даже если у вас небольшой опыт в компьютерной графике или его нет совсем, вам должно быть понятно большинство разделов книги. Конечно, машинная графика — неисчерпаемая тема, поэтому вы можете дополнительно прочитать следующие материалы: ° Сотригег СгарЬ1ск Рппсгр1ел апг! Ргаспсе Ьу /отел 1).
Ро!еу, Апг/Пел пап !)ат, 5геоеп К. Ре!пег, апгЦоЬп Р Нифел (Ас1г/1лоп- Кел1еу, 1990). Эта книга — энциклопедия компьютерной графики. В нее входит огромное количество информации, но лучше читать ее, уже обладая опытом работы в этой области. ° .Ю Сотригег СгарЬ ~ел Ьу А пс1 ет 5. С!алгпег (Тбе Ьуопл Ргелл, 1994). Книга дает короткое нетехническое введение в компьютерную графику. Она больше ориентирована на визуальные эффекты, чем на технические проблемы их получения.' Другое замечательное место, тле вы можете получить практически любую информацию, — официальный веб-сайт ОрепС1. На этом сайте находятся документация, консультации и новости. Это то место, откуда стоит начинать искать ответ на любой вопрос, возникающий при работе с ОрепС!..
Сайт расположен по адресу: ЬГЕр://ааа.орепд!.огд/. ' Рекомендуелг на русском языке: Хилл Ф. Орепбц Программирование компьютерной графики. Для профессионзлои — Сцбс Питер, 2002. — Примеч. ред. Как получить примеры программ 19 Если вы начинаете программировать с использованием ОрепС1, вам наверняка пригодится руководство Орепб/. йе/егепсе Мапиа1, подготовленное АгсЫесгиге кеп>ем Воатд (изданное Агл)иоп — й>ез1еу), которое было создано как дополнение к данной книге. Это справочное руководство смотр>п на операции ОрепС1 с технической стороны; от информации, описывающей геометрические объекты, до получения изображения на экране.
В нем также имеется полное описание всего набора команд ОрепСŠ— аргументы функций, значения по умолчанию и коды возврата. Многие реализации ОрепСЕ предоставляют интерактивный доступ к аналогичному материалу в виде руководства или другого справочного материала, который является более современным. Также много информации можно найти в Интернете; посмотрите на уже упомянутом официальном веб-сайте ОрепС1.. ОрепСŠ— по-настоящему аппаратно-независимая спецификация интерфейса программирования, работающая на различном оборудовании. Это руководство рассказывает, как программировать, используя лк>бую реализацию ОрепС).. Однако поскольку реализации могут сильно различаться, например по производительности и по дополнительным возможностям, возможно, вам захочется найти соответствующую документацию.
Кроме того, наверное, вы пожелаете воспользоваться дополнительными относительно вашей реализации инструментами, пакетами разработчика, другими программными и отладочными средствами, виджетами, примерами программ и презентациями. Как получить примеры программ В книге содержится множество пр>пиеров программ, показывающих использование различных технологий ОрепС1.. Эти программы созданы с помощью ОрепС/. УцйГу Гоой>Г (С1.1)Т) Марка Килгарда (Маги К>1йагг)). Документацию по С)Л>Т его же авторства можно найти в 01>епС/.
Ргоритттд/ог г/> и Х Ьгп«акоп> 5ухгвт (издательство АгЫ>зоп — %'ез1еу, 1996). За информацией по работе с Сц1)Т обращайтесь к разделу «Библиотеки, связанные с ОрепСЕ> главы 1 и приложению Г. Если у вас есть доступ в Интернет, вы можете получить исходные коды примеров программ и СШТ на анонимных РТР-серверах. Исходные коды примеров программ из этой книги находятся по следующим адресам (выберите нужный файл в зависимости от архиватора, установленного в вашей системе): йр://йр.зд>.соп>/орепд1/орепд114йаг.2 >гр://йр.зд>.сом/орепд1/орепд114йдх >гр://>1р.зд>.сош/орепд!/орепд114.х>р Используйте соответствующие инструменты для распаковки и извлечения исходного кода из полученных файлов. Исходные коды Марка Килгарда для СШТ (для М>сгозой %)про>чз или Х %>пбожз) доступны по адресу: 'п11р://>ув>ч>.орепд1.огд/оече1орегз/оосцтеп1аг>оп/д1цт/>поех.Ьгпй 2О Об этой книге Многие реализации Орепб(.
также содержат примеры. Эти исходные коды, скорее всего, являются лучшими для вашей реализации, оптимизированными под нее. Где их взять, вы узнаете из документации для вашей версии ОрепО1.. Обучающие программы по Орепб1 от Нэйта Робинса Найт Робине (Хате ВоЫпз) написал комплект программ, обучающих основам программирования в ОрепО1. Они предоставляют пользователю возможность изменения аргументов функций и наглядную демонстрацию результата изменения.