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

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

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

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

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

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

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

ТИ1АИОСЕ 5ТИХР)хп"); Ьгеа)с; саве 6( ТИХАМ6(Е РАй: рг!ПС1("6[ Тй!АИОСЕ ЕАМ)сп"); ЬгеаК; саве 6С ООА05; рг!п(1("6( ООА05) )п"); Ьгеа(с; саве 6( ООАО 5тй1Р: рг! пС1("6( ООАО 5ТИХР) сп"); Ьгеак; саве 6( РОСУООИ: ргтп(1("6( РОСНООИ) сп"); Ьгеах; бе1аи11: Ьгеа)с; ) чо!б САССВАСК епОСа11Ьаск() ( В1Епб(); /' директива повторной передачи на отображение ргтпС1("В1Епб()сп"); ) чо!б САССВАСК чегтехСа11Ьаск(6(11ааС 'чегСех) ( ВХЧегсехзтч(чегсех); /" повторная передача вершин '/ ргспС1("В1Чег(ех31 (%5.31, %5.31, %5.31)сп", чегтех[О), чег(ех[1], чегтех[2]); Интерфейс МВКВ5 библиотеки 600 463 чоян САС(НАСК погва(са11оасн(6(Г(оат "погва1) ( Н1иогва13(ч(погва1); /' повторная передача нормалей рг1птт("Н(иогва(3( (Х5.3(, Х5.3(, Н5.3() ", погва1(э), погвя1(11, погва1(2]); ) Усечение КОРВО-поверхностей Для создания усеченных Х()КВо-поверхностей с помощью Орепвв начните с создания «сырой» поверхности.

Затем, после вызовов к1ннен1п5цгтасе() и 51нногЬз5цгТасе(), но перед В\оЕпа5нгтасео, выполните усечение н1нВек1птг1во. чоЫ н1овент птг3 в(ОЬБпнгЬзОЬ) *поЬ/) чоЫ к1цйпатг1в(б1 НпцгЬзОЬ)' *по(//); Отмечают начало и конец контура усечения. Он представляет собой набор ориентированных вырезанных из кривой отрезков (образующих замкнутую кривую), определяющих границы Ы()КВЯ-поверхности. Вы можете создать усеченные кривые двух видов: кусочно-линейные с помощью н1нрм1Снгче () и Х()КВЗкривые с помощью к1нногвзСогче(). Кусочно линейная кривая не похожа на кривую в прямом смысле этого слова, поскольку это совокупность отрезков прямых линий. Х()КВБ-кривая для усечения должна лежать в пределах единичного квадрата параметрического (и, и) пространства.

Тип (т(СКВЕР-кривой для усечения — обычно 600 МАР1 ТР1И2. Тип 600 ИАР1 ТН1ИЗ пUименяется реже, здесь кривая описывается в двухмерном однородном пространстве (и', р', в/') при (и, о) - (и'/те', о',/м'). чоЫ н1црн1Сн гче(61Л)пцгЬзОЬ) «по(у, Ссш( соилй С) Йоаг «аггау, ОЬшг хетта/е, О1епшп и/ре); Описьгвает кусочно-линейную кривую усечения для )ч(()КВЯ-объекта поЬ~. Аргумент соиле — это число точек кривой, содержащихся в массиве аггау. Аргумент Гуре равен либо 600 ИАР1 ТН1И 2 (обычно), либо 6С0 МАР1 ТН1М 3 (однородное параметрическое пространство (и, о, те) ). Значение типа хуре обусловливает значение аргумента эх/таге — 2 или 3. Шаг по индексу хгг(г(е представляет количество значений с плавающей запятой до следующей вершины массива аггау.

Вы должны озаботиться ориентацией кривых усечения — то есть тем, как они обходятся: по часовой стрелке или наоборот, — чтобы быть уверенными, что вы включили в обработку нужную часть поверхности. Вы уже должны знать, что при обводе все, что находится слева от кривой, включается в рассмотрение, а все, что находится справа, — отбрасывается. Например, если ваш объект состоит из единственного контура, обходимого против часовой стрелки, к учету принимаются нсе его «внутренности». Если усечение выполняется для двух непересекающихся контуров, также ориентированных против часовой стрелки, к рассмотрению принимаются внутренние области обоих контуров. Если вы имеете один «цротив ча- 464 Глава 12 ° Вычислители и Р(Е)йВБ совой стрелки» контур и внутри него два контура «по часовой стрелке», в область усечения войдут два отверстия.

Наиболее внешняя кривая усечения должна обходиться против часовой стрелки. Часто кривая усечения окружает единичный квадрат, предполагая обработку его внутренней области. Это также случай по умолчанию, когда вы самостоятельно не указываете никаких кривых для усечения. Кривые усечения должны быть замкнутыми и непересекающимися.

Вы можете комбинировать их, пока их конечные точки не сформируют замкнутую кривую. Вы можете вкладывать кривые, создавая «острова», «плавающие» в пространстве. Убедитесь, что ориентация кривых задана верно. Так, вы получите противоречие и, следовательно, ошибку, если укажете в качестве области усечения две кривые, обходимые против часовой стрелки, где одна вложена в другую. Рисунок 12.5 иллюстрирует несколько допустимых вариантов. 91ивед1п5иггасе(): 91ийигЬ15иггасе(.. ); 91ЬВец~пТгнп(); 91ири)Сигче( ) /* А */ 91иЕпиТюв(); д)иВед~пгпв(): 91иР«1Сигче(...), /* В */ 91иЕпиТп'в(): 9)иВец1пТЫв(): 91ийигоасигче(...): */ С */ 91иЕпОТпв(): 91иВерпТг1в(); д)ийигаасигче(...).

*/ 0 */ 91ири1Сигче(...); /* 0 */ 91иЕпотг(в(), 91иВе91пТпв(); 91иги)сигче(...): /* Е */ д1иЕпиТюв(); 91иЕЬЕ5игтасе(); Рис. 12.5. Параметрические кривые усечения На рис. 12.6 показана та же небольшая возвышенность с рис. 12А, но с кривой усечения, скомбинированной из кусочно-линейной кривой и )ч)БКВБ-кривой. Программа, создающая эти фигуры, подобна представленной в листинге 12.5; разница заключается в процедурах, включенных в листинг 12.8. Рис 12.6. Усеченная Н()КВ5-поверхность Интерфейс 8[1)йВ5 библиотеки 6Ш 465 Листинг 12.8. Усечение Р[ОйВ5-поверхности: Спш.с чо! и О( твр1ау(чо10) ( 6С(1оат Хоп[в[В) = (8.9, 0.8, 0.0, 8.8, 1.9, 1.9, 1.9, 1.0); 6С(1оаС еийеРС[5)[2) = /* против часовой стрелки */ ((9.0, 0.0), (1.0, 0.0), (1.8, 1.9), (0.9, 1.8), (0,0, 0.0)): 6с(1оас согчеРс[4)[2) = /* па часовой стрелке */ ((В.г5, о.5), (В.г5, 9.75).

(8.75, 9.75), (0.75, о.5П; 6С(1оаС согчехпотв[8] (0.0, 9.8, 0.8, 9.0, 1.8, 1.8, 1.0, 1.8); 6[(1оат ри1РС(3][2) = /' по часовой стрелке */ ((8.75. 8.5), (0.5, 8.25), (8.25, 9.5)); 9161еаг(6С СОСОМ 80РГЕМ ВХТ [ 61 0ЕРТН ВЬЕРЕМ 81Т); 91ровпйаСгтх(): 81йотвтет(338.9, 1., 8., 8.); 915са1ет(0.5, 8.5, 0.5); 91оВейтп5игтасе(тлейогЫ; 81ойогьв5огсасе(тпейогЬ, 8, Хпотв, 8, Хпотв, 4 * 3, 3, аст1рот птв[8] [О] [О], 4, 4, 61 МАР2 ЧЕМТЕХ 3); й[овейтпТгт'в(СПейогЬ); й[оРи1Согче(СПейогЬ, 5, аеийеРС[0][0], 2, 610 МАР1 ТМ1М 2); В[ойпитгтв(тлейогЫ; 91оВейтпТг(в(СПейигЫ; 91ойогьвсогче(спемогь, В, сигчехпосв, 2, асогчеРс[9][8), 4, 6(0 МАР1 Та]М 2); й]ори[Сигуа(тйейогЬ, 3, арн]РС[8)[9], г, 610 МАРХ ТМХМ 2); 91ийпитгтв(СПейого); 91оЕпи5огтасе(тлейогЫ; 91РоРМатг1'х(); 91Р1овл(): В листинге 128 команды-скобки к[ибеа[птг! в() и к1оЕпотг(в() обрамляют каждую кривую усечения.

Первая, с вершинами в массиве ет[йеРС [) [], ориентирована против часовой стрелки вокруг единичного квадрата параметрического пространства. Это гарантирует отображение всего, что не исключается из рассмотрения вложенными кривыми усечения, обходимыми по часовой стрелке. Вторая кривая — это комбинация кусочно-линейной и [ч1]ВВ5-кривой. Концы ]([]ВВ5-кривой в точках 10,9, 0.5) и (0.1, 0.5) замыкаются с помощью кусочно-линейной кривой. Выбор и обратная связь После прочтения этой главы вы научитесь следующему: ° Создавать приложения, позволяющие пользователю выбирать область экрана или нарисованный на экране объект ° Использовать режим обратной связи Орели~ для получения результатов построения сцены Выбор 467 Некоторые графические программы просто рисуют статические изображения двух- или трехмерных объектов.

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

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

В обоих режимах содержимое буферов цвета, глубины, трафарета и накопления не подвергается воздействию. В этой главе каждому из означенных режимов посвящен собственный раздел: » Выбор. Рассказывает, как испольэовать режим выбора и связанные с ннм подпрограммы, чтобы позволить пользователю вашего приложения выбирать объект на экране. ° Обратная связь. Здесь описывается, как получить данные, которые могут быть отображены на экране, н как обрабатывать эту информацию. Выбор Обычно, когда вы планируете использовать механизм выбора ОрепС!., сначала вы рисуете свою сцену в буфер кадров и затем входите в режим выбора и перерисовываете сцену. Войдя в режим выбора, вы уже не можете изменить содержимое буфера кадров, пока не покинете этот режим.

После выхода из пего ОрепСБ возвращает список примитивов, попадающих в видимый объем (помннте, что видимый объем определяется текущими модельно-видовой матрицей и матрицей проекции и любыми дополнительными плоскостями отсечения, как обсуждалось 468 Глава 13 ° Выбор и обратная связь в главе 3).

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

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