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

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

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

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

Как показано на рис. 10.1, левый нижний пиксел окна ОрепОЕ, (О, О), в оконных координатах соответствует левому нижнему углу области размерами 1 х 1, заниякемой пикселом. В общем случае пиксел (х, у) заполняет собой область, огранитенвую значением ж слева, значением х ь 1 справа, у — снизу и у + 1 — сверху. Координаты У окна 3,0 г,о г,о о,о О,О 1,0 2,0 3,0 Координаты Х окна Левый нижний угол окна Рис. 10.1.

Область, занимаемая ликселом йте более пристально посмотрим на буфер, который хранит цветовую инфор- ию о данных, отображаемых на экране. Положим, что ширина экрана составет 1280 пикселов, а высота — 1024 пиксела, и что мы имеем дело с 24-разрядзкраном — таким, который может воспроизвести 2т" (16 777 216) различных ов, Поскольку 24 бита это то же, что 3 байта (стандартный байт состоит из бгп), буфер цвета должен быть разбит на порции из 3 байтов для каждого из 388 Глава 10 ° Буфер кадров 1 310 720 (произведение 1280 и 1024) пикселов экрана. Число пикселов на физическом экране зависит от возможностей аппаратного обеспечения, но количество информации о пикселе, сохраняемой в буфере цвета, — величина одинаковая во всех случаях.

Буфер цвета — это только олин из нескольких буферов, хранящих информацию о пикселах. Вспомните раздел «Удаление невидимых поверхностей» главы 5, из которого вы узнали, что буфер глубины содержит информацию о глубине пикселов. Сам буфер цвета может состоять из нескольких подбуферов. Понятие буфера кадров ((гашеЬп(Еег) относится ко всем этим буферам. За исключением буфера цвета, вы не можете видеть эти другие буферы непосредственно; они привлекаются для таких задач, как удаление невидимых поверхностей, сглаживание сцены, отображение по маске, воспроизведение плавного движения, и других операций. В этой главе описаны все буферы, поддерживаемые реализациями ОрепЯ., и рассказывается о том, как их использовать. Здесь также говорится о серии тестов, применяемых к пикселам перед их помещением в буфер цвета. Наконец, объясняется назначение буфера накопления — накопление изображений, подлежащих помещению в буфер цвета.

Данная глава разбита на следующие основные разделы: ° Буферы и их применение. Описывает существующие буферы, нх назначение и управление ими — очистку и разрешение записи. ° Тесты и операции над фрагментами. Объясняет сущность тестов на отсечение, трафарета, глубины и альфа-теста, выполняемых после расчета положения и цвета пиксела, но до его вывода на экран, Несколько операций — смешивание, размытие и логические — также могут быть выполнены перед тем, как фрагмент обновит собой экран. ° Буфер накопления. Описывает более изощренные приемы, включающие в себя сглаживание сцены, размытие при движении и имитацию глубины, подобно фотографиям. В версии Орепб).

1.4 добавлены операции вывода по шаблону СС 1НСР НРАВ и 6С ОЕСР ИРАР. Буферы и их применение Система Орепб). может управлять следующими буферами: ° цветовыми: передним левым, передним правым, задним левым, задним правым и любым количеством вспомогательных буферов; ° буфером глубины; ° буфером трафарета; « буфером накопления. Конкретная реализация Орепб1. определяет, какие буферы доступны и какое количество битов на пиксел для них принято, Кроме этого поддерживаются состав- Буферы и их применение 389 ные, то есть «оконные» типы, подразумевающие работу с несколькими буферами.

Таблица 10.1 содержит список параметров функции В1бес1птейегч(), которая запрашивает систему ОрепСТ. о размере памяти, отводимой пикселу какого-либо вбьекта визуализации. ПРИМЕЧАНИЕ Если вы используете систему Х Уч~пбоис вам гарантируется как минимум один объект визуализации с однии буфером цвета для использования в режиме йбВА со связанными буферами трафарета, глубины и накопления, значения компонентов, цвета которых отличны от нуля. Также, если реализация Х ЬУ!пбочг поддерживает псевдоцвета, вам гарантируется наличие одного объета визуализации Орепбь с буфером цвета для использования в режиме индексации цвета, с ассоциированными буферами глубины и трафарета.

Для запроса об этих объектах существует команда д~хбессопбр(); см. приложение В и руководство ОрепЯ. йе(егепсе малов~ для получения более подробной информации. Таблица 10.1. Параметры запроса о размере памяти, отводимой под пиксел Пояснение Параметр Количество битов на йч б ч В- и А-компоненты цветовых буферов Количество битов на индекс в буферах цвета Количество битов на пиксел в буфере глубины Количество битов на пиксел в буфере трафарета Количество битов на йч бч В- и А-компоненты буфера накопления 6(„йЕР В1Т5, 66 бйЕЕН В1Т5, ВС ВСОЕ В1Т5, 6( АСРНА В1Т5 6( 1НРЕХ В1Т5 6(„ОЕРТН В)Т5 6( 5ТЕНСТС В1Т5 6( АССОМ йЕР В1Т5, 66 АССОМ бйЕЕН В1Т5, 6( АССОМ ВСОЕ В1Т5,66 АССОМ АСРНА В1Т5 Буферы цвета Буферы цвета это то место, где обычно выполняется рисование.

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

Аналогично, система двойной буферизации подразумевает рабочий и фоновый буферы, а система однократной буферизации работает только с рабочими буферами. Любая реализация ОрепС1. предоставляет передний левый буфер цвета. Необязательно, но могут поддерживаться неотображаемые буферы. ОрепС1 не Регламентирует правила их применения, поэтому вы можете использовать их, как пожелаете. Например, задействовать их для хранения многократно используеиых изображений. Тогда, чтобы не перерисовывать изображение заново, вы можете просто скопировать существующее из вспомогательного буфера в нужные буферы цвета.

(См. описание команды В1СоруР1хе! з () в разделе «Чтение, запись и копирование пикселов» главы 8.) В вашем распоряжении параметры ВС 5ТЕНЕО и БС РРОВС ЕВОЕ ГЕН для команды 116есВоо1еапч (), позволяющие выяснить, поддерживается ли в системе стерео- вывод (то есть доступен ли правый буфер) или двойная буферизация (задний бу- 390 Глава 10 ° Буфер кадров фер). Чтобы узнать, какие вообще вспомогательные буферы присутствуют, ис- пользуйте команду я10е11птеяегч() с параметром 60 А0Х В0»ГЕР5.

Буфер глубины Буфер глубины хранит значение глубины для каждого пиксела. Как говорилось в разделе «Удаление невидимых поверхностей» в главе 5, под глубиной понимается расстояние до наблюдателя исходя из того, что пикселы с большей глубиной записываются поверх пикселов с меньшими значениями. Это просто полезное соглашение, хотя поведение буфера глубины может быть изменено согласно описанию из раздела «Тест глубины», Буфер глубины иногда также называют г-буфером (з — это как бы третья координата (помимо х и у), перпендикулярная экрану).

Буфер трафарета Одно из применений буфера трафарета это ограничение области рисования какой-то частью экрана, аналогично тому, как шаблон из картона помогает создать резкие изображения при простом распылении красителя. Например, вы можете захотеть воспроизвести картину, видимую через лобовое стекло, имеющее неправильную геометрическую форму.

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

Рисование в буфер накопления непосредственно не производится; он просто аккумулирует действия, всегда выполняемые прямоугольными областями, поступающими в буфер цвета и исходящими из него. Очистка буферов В графических программах очистка экрана (или любого из буферов) — обычно одна из самых «дорогостоягдих» операций.

Так, на мониторе 1280 х 1024 она требует обработать более миллиона пикселов. В простых графических приложениях операция очистки может отнять больше времени, чем все прочее рисование. Если вам нужно очистить не только буфер цвета, но также и буферы глубины и трафарета, время очистки увеличится еще в три раза.

Буферы и их применение 391 Чтобы решить эту проблему, некоторое аппаратное обеспечение очищает все буферы вместе. Команды Ореп01. для очистки по возможности оптимизированы под такую архитектуру. Вначале вы указываете значения, которые следует запигать в каждый буфер для его сброса. Затем дается единственная команда на выполнение очистки, самостоятельно перебирающая буферы из заданного списка. Внутри же все зависит от архитектуры, если она способна на единовременную очистку, таковая и выполняется, в противном случае буферы очищаются последовательноо. Следую|цие команды устанавливают значения очистки для каждого буфера: чо1й к1С1еагСо1о г(01с)агар( геЫ, 01с1ап1р1уееи, 01с1ап1р( Ыие, 0(с)ащр1 а(рЬа); чо|г) В1С1еа г1паех(СЕйоаг тг(ех); чо1г) В(С1еа гоерсв(СЕс!ащрг) г(ер(А); чо(г( В1С1еаг51епс(1(01(пг з); чо1г( В1С\еаглссип(СЕйоаг ген СЕйоаг ягеел, СЕйоаг Ыие, СЕйоас а(рйа); Эти команды задают значения очистки для буферов цвета (в режиме КСВА или индексации цвета), глубины, трафарета и накопления соответственно.

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

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

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

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