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

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

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

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

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

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

К тому же программы ОрепСЕ используют базовые механизмы оконной системы. Несколько библиотек, приведенных ниже, позволяют упростить решение программных задач; ° ТЬе ОрепС1. ()Г!!!гу ЫЬгагу (СГЛАЗ) содержит несколько команд, использующих низкоуровневые команды ОрепС1., которые позволяют устанавливать значения видовых матриц и матриц проекций, выполнять разбивку на многоугольники н рендеринг поверхностей.

Эта библиотека входит в состав любой реализации ОрепС . Составляющие С1Л) описаны в Орели йе~егепсе Мапииб Наиболее полезные команды СЬ() описаны в данной книге, в соответствующих разделах, как, например, в главе 11 и в разделе «Интерфейс !ч()КВВ библиотеки СШ» главы !2.

Все команды СШ начинаются с я1ш ° Для каждой оконной системы существуют библиотеки, расширяющие функциональные возможности Орели по поддержке данной оконной системы. Для компьютеров, использующих систему Х тт*1пг)овз, таким расширением является библиотека СЕХ (ОрепСЕ Ехсепз1оп го сйе Х Ъ'!пбо лз 5уъгегп).

Команды С).Х начинаются с префикса к1х. Для М!сгозо(г Ю1пс!оъз такой библиотекой является ЖС1.. Все команды ЪЪ'СЬ начинаются с ня1. Для ОЯ/2 от 1ВМ используется РСЬ (Ргезептат!оп Мапаяег го ОрепСЬ), и ее команды на- 34 Глава 1 ° Введение в Орепб~ чинаются с рд1, Для Арр1е используется библиотека АС1., команды которой начинаются с ад1.

Все эти расширения для оконной системы более подробно описаны в приложении В. Кроме того, команды С1.Х представлены в ОрепСб йе)егепсе Мапиаб ° СШТ (ТЬе ОрепСь УГ!1!Гу Тоо1й!1) — зто независимый от оконной системы набор инструментов, написанных Марком Килгардом (Маги Кг1яаг<1) для того, чтобы устранить различия между различными АР! по управлению окнами. Библиотека СШТ рассматривается в следуюшем разделе и более подробно описана в книге Марка Килгарда «ОрепС1. Ройгатття)ог Ггге Х Иггпггои Яузгегл» (издательство А<<<уй«оп-й'е№1еу, 1996).

Команды СШТ лепсо опознаются по префиксу д1ог. Если вас интересуют исходные коды для СШТ, см, раздел «Как получить примеры программ» этой книги. Включаемые файлы Обычно в заголовочные данные каждого файла ОрепСЕ-приложения включается файл д\ . и. Почти все приложения ОрспС1. исгюльзуют СШ, вышеупомянутую библиотеку утилит ОрепС1., которая тянет за собой заголовочный файл д1о.в. Итак, почти все исходные тексты программ ОрепС1.

начинаются так: №1лсзоае <бЬГХГ.Л> №!лсгнав <бГГХГо.л> ПРИМЕЧАНИЕ При работе с М!сговоГГ уу1лдоггв до присоединения д1Л и д1о.ь требуется включить»«!обо»уз№Ь твк квк некоторые макросы, используемые в версиях д!.Л и д1о. Л для М!сговоГГ УУ1лг!оигв, определены в ил!лаоигв.п. Библиотеки ОрепС1. постоянно изменяются.

Различные производители графического оборудования добавляют новые возможности, которые могут быть не учтены в д1. П. Для их использования в ОрепС1 имеется дополнительный заголовочный файл д1ех С. П. Этот файл содержит последние дополнения, и его можно получить на веб-сайте производителя оборудования или на официальном сайте ОрепС1 (гз11р:/гггууг»у.орепд(.огд).

Как и любой заголовочный файл, он включается следуюшей командой; №!лсголе "Хгехг.ь" Вы, должно быть, заметили, что имя файла заключено в кавычки, а не в скобки. Это неспроста. Так как д1ехг. и предоставляет доступ к новым возможностям, введенным производителями видеокарт, вам лучше всего будет взять последнюю версию из Интернета для того, чтобы успешно компилировать программы. Кроме того, вы можете столкнуться с проблемой отсутствия разрешения на запись файла д1ехс. П в системный каталог заголовочных файлов (например, /взг/!пс1цг!е) в системах 111«1Х.

Если вы используете дополнительные интерфейсные библиотеки, такие как СЕХ, АС1., РС1. или ЪЪ'С(., вам нужно включить дополнительные заголовочные Библиотеки, связанные с ОрепбЬ 35 файлы. Например, для СЕХ необходимо добавить следующие строки в программный код: №!пстипе <Х11ГХ11Ь.П> №кпстцпе <Сиудгх.ь> В Мкгозой тлт1пг)отуз для библиотеки ЮСЕ достаточно указать №1пс1нпе <и!опоив.ь> Если вы испольауете С1Л1Т, вам нужно добавить строку №1пс1ипе <6ШВ1оС,П> ПРИМЕЧАНИЕ Подключение р!цг.в гарантирует, что йьв и й!ц. Ь также подключены, поэтому подключение всех трех библиотек является избыточным. Кроме того, й!цг.ь до включения йьп н бац.

Ь определяет все используемые макросы, все зависимые от операционной системы. Поэтому, чтобы уменьшить вашу программу, использующую бгнт, подключите только фцг.ь. Большинство программ ОрепСЕ также обращаются к стандартным системным библиотекам С, то есть требу1от заголовочные файлы, не связанные с графикой, например: №1пс1оее <зтп11Ь.П> №1пс1цпе <зтп1о.ь> В твко~ах наших примеров определения заголовочных файлов отсутствуют по причине обычной удобочитаемостн. 610Т, набор инструментов Орепб~ Как известно, библиотека ОрепСЕ содержит команды отрисовки, причем она разрабатывалась платформо-независимой. Поэтому в ней нет команд для открытия окон или обработки событий от клавиатуры или мыши.

К сожалению, невозможно написать полноценную графическую программу без, как минимум, открытия окна, а более интересные приложения требуют пользовательского ввода или других сервисных функций операционной системы или оконной снстсмы. Во многих случаях законченные программы представляют больший интерес, поэтому в данной книге используется С1ЯТ для упрощения работы с окнами, определения ввода и т, д, Если у вас есть реализации ОрепС1 и Сь11Т, примеры из данной книги должны запускаться без внесения каких-либо изменений.

Кроме того, в отличие от команд рисования ОрепС1., которые позволяют строить только простые геометрические примитивы (точктн линии и многоугольники), СЕНТ предоставляет возможности для создания более сложных трехмерных объектов, таких как сфера, тор и чайник.

Поэтому снимки экранов результатов выполнения программ представляют определенный шперес, (СЕП также имеет команды для создания некоторых трехмерных объектов, таких как сфера, цилиндр и конус.) Управление окнами Пять команд выполняют задачи, необходимые для определения окна: 36 Глава 1 ° Введение в ОрепвС ° я1ц с 1п ! С(Спс атКс, сЬаг " аг(!и) инициализирует СШТ и обрабатывает любые параметры командной строки (для Х-систем это могут быть такие параметры, как -б!эр1ау и -яеоаесгу). Команда я1цс1п(СО должна быть вызвана до любых других команд СШТ. в я1цс1п! С0! эр1эуМобе(цпз(йпес) шС тот(е) определяет, какую цветовую модель, В.СВА или индексную, следует использовать.

Также она может определять режим одиночной или двойной буферизации окна. (Если вы работаете в режиме цветовых индексов, вам необходимо загрузить какую-нибудь цветовую карту с помощью команлы х1цс5ессо1огО.) Наконец, с помощью этой команды можно определить, связано ли окно с глубиной, трафаретом, множественной выборкой и/или буфером накопления. Например, если требуется создать окно с двойной буферизацией, моделью цвета РСВА и буфером глубины, вы можете вызвать функцию следующего вида я1цс1п ! С0! эр1аумобе(6сцт 000Все ! 6СВТ Р6В ! 6СОТ 0ЕРТН).

° а1цс1п(сы!пбонРоэ)с!оп(!псх,!пс у) определяет положение левого верхнего угла окна. ° а1цс1п! Си! пбои5! Се((пс геггггл, !пс э(ге) определяет размер окна в пикселах. ° ! п С а1ц С С ге а Се)(! пбон(сЬаг 'зтппя) создает окно с содержимым ОрепС1.. Она возвращает уникальный идентификатор нового окна. ПРИМЕЧАНИЕ пока не будет вызвана функция вммэ!псоорО, окно отображено не будет! Обратная связь я1цс01эр1аугцпс(чоЫ ("/ипс)(цоЫ)) — первая и наиболее важная функция обратной связи.

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

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

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

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