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

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

PDF-файл М. Ву, Т. Девис, Дж. Нейдер, Д. Шрайнер - OpenGL. Руководство по программированию (Библиотека программиста) (2006), страница 5 Инженерная графика (39024): Книга - 5 семестрМ. Ву, Т. Девис, Дж. Нейдер, Д. Шрайнер - OpenGL. Руководство по программированию (Библиотека программиста) (2006): Инженерная графика - PDF, страниц2019-05-11СтудИзба

Описание файла

PDF-файл из архива "М. Ву, Т. Девис, Дж. Нейдер, Д. Шрайнер - OpenGL. Руководство по программированию (Библиотека программиста) (2006)", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 5 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

что такое ОрепЯ. 25 ся верхняя часть поверхности стола. Пол и поверхность стола имитированы текстурами (под дерево), аналогично обоям и верхней части игрушки (на столе). ° Цветной рисунок 7 показывает размывку двилсепием (лобов-Ыцггсд) объектов в сцене. Сфинкс (или собака, согласно мотивациям Роршаха) кажется застывшим в движении вперед, оставляет смазанный след на пути своего движения. ° Цветной рисунок 8 показывает сцену с обложки книги с другой точки, доказы- вая, что картинка действительно является снимком с трехмерных объектов. ° Цветной рисунок 9 нозвращает нас к туману, который применен на цветном рисунке 2 для получения эффекта задымленности воздуха.

Заметьте, что, в отличие от цветного рисунка 2, здесь эффект более впечатляет. ° Цветной рисунок 1О демонстрирует эффект алубины резкости, неспособность объектива фотокамеры сделать четкими все объекты. Камера фокусируется только на небольшой части сцены. Объекты, находящиеся дальше или ближе, чем эта область, выглядят слегка размытыми. Ниже кратко перечислены основные графические операции, выполняемые ОрепС1. при построении изображения на экране. (См.

раздел «Конвейер рисования ОрепС1.».) 1. Построение моделей из графических примитивов и создание таким образом математического описания объектов. (Примитивами в ОрепС1. являются точки, линии, многоугольники, изображения и битовые образы.) 2. Расстановка объектов в трехмерном пространстве и выбор выгодной точки обзора всей сцены. 3. Вычисление цвета всех объектов. Цвета могут быть заданы приложением, определяться условиями освещения, получаться наложением текстур па объекты или быть комбинацией этих трех действий.

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

Такая возможность рассчитана на сетевое соединение компьютеров. В этом случае компьютер, где запускается программа и выполняются команды ОрепС1., называется клиентом, а компьютер, который получает эти команды и выполняет рисование, называется сервером. Формат для передачи команд ОрепС1. (протокол) от клиента к серверу всегда один и тот же. Поэтому программы ОрепС1. могут работать в сетях, даже если клиент и сервер представляют собой компьютеры 2б Глава 1 ч Введение в ОрепЯ. разных типов. Если программа ОрепСЕ работает только на одном компьютере, он является одновременно клиентом и сервером. Немного программного кода Так как ОрепС1.

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

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

Теперь посмотрите, как выглялит программа ОрепСЕ. Программа из листинга 1.1 рисует белый прямоугольник на черном фоне, как показано на рис. 1.1. Листинг 1.1. Пример кода Орепб(. В !пс1оое хива(ечегтооиеее.ь> аэ(п() ( 1п! 1!а1!геАИ!пооиР1еахе О; 9161еагсо1ог(9.9, 0.97 0.0, 0.0); 9161еаг(6( СОСОК ВОЕРЕК В!Т); 91Со1огз((1.9, 1.0, 1.0); 910гтао(9.9, 1.0, 0.9, 1.0, — 1.0, 1.0); 919ез!п(6( РОСУООМ); К)чегсехЗГ(9.25, Е.25, О.О)) 91Чегсехзт(9.75, 0.25, 0.9); 91Чег1ехЗТ(9.75, 0.75, 9.9); 91Чег(ехзт(9.25, 0.75, 0.0); 91 5 по О .' 91Р(оэь и; Ороа(етьен!пеонАпесьескгогЕчеп(э(); Первая строка процедуры ва ! и () создает окно и выводит его на экран: функция 1п!1(а1(ЕЕАЧ)!пооиР1еаэЕО обращается к функциям оконной системы, а не Синтаксис команд ОрепбС 2У к вызовам ОрепС — это очевидное расположение функции инициализапии.

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

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

«Углы» многоугольника заланы функциями к1Че г тех 3 Г () . Как видно из значений аргументов, определяющих координаты (х, у, г), многоугольником является прямоугольник, расположенный на плоскости г - О. Наконец, команда к1Р1изП О гарантирует, что команды рисования будут сразу выполнены, а не сохранены в буфере в ожидании дополнительных команд ОрепС1 Процедура ОрбатеТПеИ!пбонАпбСПеснгогЕчептз() («местозаполнитель», как и 1п! т! а1! теАИ! пбонР1еазе()) управляет содержимым окна и начинает обработку событий.

Фактически эта часть кода ОрепСВ не структурирована хорошо. Вы можете спросить: «А что случится, если я попробую переместить окно или изменить его размеры?» или «Нужно ли устанавливать систему координат каждый раз, когда я рисую прямоугольник?» Позже в этой главе мы покажем, как выполнить замену функций 1п! т! а1! геАИ! пбонР1еазе О и ОрбатетиеИ! пбонАпбСПесК Рог Ечептз О на более эффективный код.

Синтаксис команд ОрепИ. Как видно из только что представленной программы, для команд ОрепС(. используется префикс я1, а первые буквы каждого слова имени команды являются заглавными (например, к1С1еа гСо1о г () ). Константы в ОрепС1. начинаются с Я., 28 Глава 1 ° Введение в ОрепбС записываются прописными буквами, а отдельные слова в них выделяются подчеркиванием (например, 6( СОСОР ВОЕЕЕР В1Т). Наверное, вы обратили внимание, что к некоторым именам команд добавляются суффиксы (например, 31, как в 81Со1ог31О и 81Негтех31О).

На самом деле слова Со1о г в имени достаточно для того, чтобы определить команду, которая устанавливает текущий цвет. Однако существует несколько таких команд, для различных типов аргументов. В частности, цифра 3 в суффиксе указывает, что команда имеет три аргумента; в другой версии команды Со1о г используются четыре аргумента. Буква 1 в суффиксе указывает, что аргументы — типа 11оа11 пдро | и С (вещественные числа). Такилг образом ОрепСБ приобретает возможность цринимать данные пользователя в угодных последнему форматах данных. Для некоторых команд ОрепСБ используются аргументы восьми различных типов данных. Буквы-суффиксы этих типов данных соответствуют стандарту 1БО для языка С, они приведены в табл.

1.1 вместе с определением типов ОрепС(.. Используемая вами реализация ОрепСБ может в точности не повторять эту схему, как, например, в реализации С++ или Ада. Суффикс Тип данных Типичное соответствие в языке С Тип данных в Орепбь Идно сьаг збогг ! пг ог (апд Роаг боОЫе Опзгдпег) сЬаг ОП519пеб 5ЬО|1 Опадпе|1 (пг или Опйдпеб (опд г) ОЬ О5 О| Таким образом, кол|анды 8!Негсехг|(1, 3); 8|уег|ехгг(1.О. 3.О); эквивалентны, за исключением того, что первая определяет координаты веригин как переменные 32-битного целого типа, а вторая — как числа вещественного ти- па с одинарной точностью.

ПРИМЕЧАНИЕ В различных реализациях Ораоб( соглашения о соответствии между типами данных С и Орепб|. не обязательно одинаковы. Если вы будете использовать в своем приложении типы данных, определяемые Орепбц у еас не возникнет проблем с переносом кода между различными реализациями. Некоторые команды ОрепСБ заканчиваются буквой ч, которая показывает, что команда принимает указатель на вектор (или массив) значений, а не несколько различных аргументов.

Для многих команд допускается задание аргументов Таблица 1.1. Суффиксы команд и типы аргументов 8-Ь|1|пгедег 16-Ьй(пгедег 32-Ьй |пседег 32-Ьй Роабпд-ро|п| 64-ЫС Воабпд-ро(пг В-Ь|1 Опзгдпеб |п1едег 16-Ь|1 Опйдпед |пгедег 32-Ьй Опэгдпед |птедег 6'ОЬуге 6(5Ьогт 6((пФ„6(5)эег 6 Ьйоаб 6(с1ашр1 6(боОЫе, 6(с(ашрд 6(ОЬ)де, 6(Ьоо1еап 6505ЬОГГ 6(О|ОС 6(епопь 6(ЬгрбеЫ Ореп6С как конечный автомат 29 и в виде векторов, и в виде набора аргументов, но для отдельных команд возможны только либо набор значений, либо только векторная форма.

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