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

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

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

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

Сокращение числа вызовов функций может увеличить производительность отрисовки. ° Группы атрибутов. Показывает, как запрашивать текущие значения параметров состояний и как сохранять и восстанавливать одновременно несколько связанных параметров состояний. Основы рисования 45 ° Несколько советов по построению полигональиых моделей поверхностей. Раскрывает технические тонкости, связанные с кусочно-линейной аппроксимацией поверхностей.

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

Режим прямого доступа обычно легче для разработки программ, но списки отображения в большинстве более эффективны. Возможно, вам захочется их использовать. тогда читайте внимательно главу 7, В ОрепСЕ версии 1.1 были введены массивы вершин. В ОрепС1 версии 1.2 было добавлено масштабирование нормалей к поверхностям (Ее ке5САее моямАе), кроме того, для функции а\огэикапаее1епепгэО была добавлена поддержка массивов вершин.

В ОрепСЕ версии 1.3 в ядре появилась базовая поддержка координат текстур для набора текстур. До этого мультитекстурирование было дополнительным рашпирением ОрепС1.. В ОрепСЕ версии 1.4 стало возможным хранение координат тумана и дополнительных цветов в массиве вершин, а также рисование примитивов по массиву вершин функциями к1ии1110ганАггауэ О и к1ни1110гане1евептэ О.

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

Фоновый цвет определяется программно. Для текстового процессора это, скорее всего, будет белый цвет (цвет бумаги), на котором уже будет отображен текст. Если рисуется вид из космического корабля, перед 46 Глава 2 ° Управление состоянием и рисование геометрических обьектов рисованием звезд, планет и чужих кораблей экран нужно очистить черным цветом.

Иногда очистка совсем не нужна, например, если ато изображение внутренней части комнаты и все графическое окно занима(от стены. Если рассматривать вопрос только с этой точки зрения, вы можете спросить, почему мы говорим об очистке экрана вместо того, чтобь( просто не нарисовать прямоугольник требуемого цвета размером с окно? Во-первых, специальная команда очистки окна может быть более эффективна, чем обычная команда рисования. Кроме того, как вы увиди~е из главы 3, Орепб). позволяет устанавливать систему координат, позицию наблюдателя и направление обзора, соответственно, бывает трудно определить необходимые размер и положение прямоугольника для очистки экрана. Наконец, на многих компьютерах графическое оборудование включает в себя несколько буферов, кроме буфера, содержащего информацию об отображаемых пнкселах. Эти буферы также время от времени нуждаются в очистке, и удобно иметь команду для одновременной очистки различных их сочетаний.

(См, главу 10 для обсуждения всех возможных буферов.) Также необходимо знать, как цвета пикселов хранятся в графическом оборудовании в виде так называемых битовых ллоскоапеи. Есть два метода хранения. Первый — каждое значение красной, зеленой, синей и альфа- (КОВА) составляющих пиксела может напрямую храниться в битовой плоскости, или второй — в битовой плоскости содержится единое значение индекса, связанное с цветом в цветовой таблице. Цветовой режим ВОВА используется чаще, поэтому он фигурирует в большинстве примеров этой книги. (См, главу 4 для получения более подробной информации о цветовых режимах.) До 6-й главы на все значения альфа-составляющей можно не обращать внимания. Например, данные строки очищают экран и заливают его черным цветом в режи- ме КОВА: В(С1еагСо(ог(О.О, О.О, 0.0, О.В); В1С1еаг(ЕС СО(оя ВОРРЕЕ В1Т); Первая строка устанавливает черный цвет очистки, а с.ледуюшая команда очищает окно текущим цветом очистки.

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

В.О, 0.0); В)С(еагОертн(1.0); В1С1еаг(СЕ СОСОЕ ВОРРЕВ В1Т ( ОС ОЕРТН ВОРРЕР В1Т); В этом примере использование я1С)еагСО1огО аналогично предыдущему, функция В1С1еагОертПО определяет значение, устанавливаемое для каждого Основы рисования 47 ппкссла буфера глубины, а функция В1С1еа г () принимает в аргументе битовую операцию ИЛИ (ОВ), объединял)щую очищаемые буферы.

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

(См, главу 4 для получения подробной информации о рсжпме ВОВА.) Значения красного (тетУ), зеленого (угтеел), синего (Ыие) и альфа- компонентов (иУГ)У)а) устанавливаются при необходимости в диапазоне [О, 1). По умолчанию действует белый цвет (О, О, О, 0). чо(г( В1С1еат(О)ЬЕ(Е)е!о таз)т); Очищает заданный буфер текущим значением. Аргумент таз)т определяет с помощью логического битового ИЛИ очишаемыс буферы, перечисленные в табл. 2.1. Таблица 2.1.

Буферы длл очистки Глава Глава 4 Глава 10 Имл Буфер 61 С010В ВОРЕЕВ В1Т 61 0ЕРТН ВОЕРЕВ В1Т 61 АССОМ ВОГРЕВ В1Т 61 5ТЕНС11 ВОРРЕВ В1Т Буфер цвета Буфер глубины Буфер накоплении Буфер трафарета Глава 10 Глава 10 Перед использованием команды очистки нескольких буферов необходимо определить значения цвета закраски после очистки для каждого очищаемого буфера, если не подходят значения, определенные по ултолчанию для цвета ВОВА, буферов глубины, накопления и трафарета. Кроме команд В1С1еагСо1ог() и В161еатперт)) О, устанавливающих значения для очистки для буферов цвета и глубины, используются команды В1С(еат1пбехО, В161еагАссым() и В161еат5(епст1О, определяющие значения очистки — индексы для буферов цвета, накопления и трафарета. (См.

главы 4 и 10 для получсния информации об этих буферах и их использовании.) ОрепС1. позволяет определить несколько буферов, так как обычно очистка — довольно медленная операция, поскольку обрабатывается каждый ппксел окна (их могут быть миллионы), а некоторые графические контроллеры позволяют очищать несколько буферов одновременно. Оборудование, нс поддерживающее одновременную очистку буферов, выполняет ее последовательно. Различие между В1С1еаг(61 СОСОВ ВВРРЕВ В1Т ) 61 ВЕРТН ВВРРЕа ВГТ); В161еаг(61 С010я ВВРРЕВ В!Т); В161еаг(61 ВЕРТН ВОРГЕВ В1Т); в том, что при одинаковом результате первый пример будет работать быстрее на большинстве компьютеров. Естественно, первый пример никогда не будет работать медленнее второго.

48 Глава 2 ° Управление состоянием н рисование геометрических объектов Установка цвета В Орепо) описание очертания рисуемого объекта независимо от описания его цвета. Всегда часть геометрического объекта рисуется с использованием текущей цветовой схемы. Цветовая схема может быть простой, вида «рисуем все ярко- красным цветом», или сложной, например «нарисовать объект вида синего пластика, осветценне задается желтыми точечными источниками света, плюс общее неяркое красновато-коричневое освещение где-то ещеа.

Обычно программисты, использующие ОрепСЦ сначала устанавливают цвет или цветовую схему, а затем рисуют объекты. До тех пор пока цвет или цветовая схема не будут изменены, все объекты отображаются этим цветом или в атой цветовой схеме. Данный метод позволяет ОрепСВ добиваться более высокопроизводительного рисования, чем при явном задании цвета каждый раз. Например, псевдокод Бет соггепС со1ог(геб); Оган оо>ес1(А>: Оган оЬ1есС(В); ает соггепт со1ог(йгееп); тес соггепт со1ог(Мое); Огаи оЬ>есс(С); рисует объекты Л и В красным цветом, а объект С вЂ” синим.

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

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

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

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