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

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

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

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

6( 5Н1М1МЕ55, шаС аь!и!пеаа); 61ЕпаЬ]е(61 С[6НТ1М6); 81Епаосе(61 С[6НТВ); 81Епао]е(6С ОЕРТН ТЕ5Т); 61Епаосе(6С АВТО МОРИА(); 81Епаи]е(6С МОННА(17Е); 3п!С аиг1асе(); СьемигЬ = 81именмигьаМепбегег(); 91имигЬаРгорег(у(гпемигЬ, 6(0 5АИРС1М6 ТОСЕКАМСЕ, 25.0); 8[ииигааргорег(у(СЬеиигЬ, 610 015РСАЧ МООЕ, 600 Р]СС); 61имигьаса11ьасм(спемигь, 610 ЕКМОН, пигьаЕггог); чо!б б3501эу(чо!б) ( 6111оаС Кпога[8) = (0.0, 0.0, 9.0, 9,0, 1.0, 1.9, 1,0, 1,0]; !пс 1, 81С1еаг(61 СО(Ой 80РРЕИ 81Т [ 61 ОЕРТН ВВЕРЕН 81Т); 81Риаьма(г!х(); 8[Но(а(е1(339.9, 1., О,, О.); 815са1е1(9.5, 0.5, 9.5); 81ивеВ[п5иг1асе(СЬемигь); 81имигьа5иг1асе(сьемигь, В, кпоса, 8, кпоса, 4 ' 3, 3, йс(1ро!п(а[0)[0][8], 4, 4, 61 ИАР2 ЧЕКТЕХ 3); Интерфейс Р]ОйВБ библиотеки 6С(] 455 81нЕпб5нггасе(СЛеннгЬ); 11 (5поиР01пС5) ( В!Ро1п(51се(5.8): В!015аЬ]е(6с с]6НТ1М6); 81Со1ог31(1.0, 1.0, 0.0); В!Ве81п(6с Р01МТ5)', 1 (1 = 9; 1 < 4: 1++) ( Рог () = О: ] < 4' ]«) ( 81Чег(ех]1(с(1ро1пС5[1][]][0), сС1ро1пС5[1][]][1] сС1Ро1 п(5 [1] (] ] [ 2] ); 8!Епб(): 91ЕпаЫе(6С С16НТ]М6); ) 8]РориаСг(х(); 81 51н5Ь (); ] чо!б геапаре((пС н, 1пС Ь) 8!Ч1еирогС(8, 8, (6С55се1) н, (6С5!се1) Ь); 8!Наег]хлебе(ОС РЯОЗЕСТ10М); 9!Соаб]беп(1Су(); 91нРег5РесС1че(45.8, (6СбонЫе)и!(6СбонЫе)П, 3.0, 8.8); В\На(г1хиобе(6С НООЕСЧ1ЕИ); 8!Сааб]бент((у(): 81Тгап5]аее1(О.О, 0.9, -5.0); ) чо]б ХеуЬоагб(нп558пеб слаг Хеу, (пС х, 1пС у) ( 5К1Ссл (КеУ) ( саае 'с'; саае 'С'; 5понро1пс5 = 15понРо!'пС5; В!нСРо5(кеб(5р!ау(); Ьгеаи: саае 27: ех51(8); Ьгеак; бе1ан1С: Ьгеак; 1пс еа1п(1пС агВс, слаг*' агВч) ( В!нС]п1С(аагВс, агВч); В!нС]п11015р!ауиобе(6(ОТ 5 ]МОСЕ [ ОСОТ Н68 ] 6(ОТ ОЕРТН); 81нС]п1СИ!пбои51хе(589, 509); 81нС1п!СИ(пбоиРо5111оп(100, 100); продолженне Р 456 Глава 12 ° Вычислители и НОРВ5 Листинг 12.$ (продолжение) В) и(С геагеам пипи(агв» [0) ): 1п)С (); В)и(аеаьареЕипс(ге»Паре); В)иго!ар)аурипс(и)ар)ау); Х)и(кеуЬоагирипс(хеуЬоаги); В(исяа1псоор(); ге(игл 8; ) Управление ХОРВАТ-объектом Как видно из листинга 12 5, команда к1именмигьайепиегег() возвращает новый Х()ВВЯ-объект, с типом указателя на структуру 6с0пигЬзОЬ).

Вы должны создать этот объект перед использованием любой другой процедуры Х()ВВБ. Когда Х()ВВЯ-объект станет вам не нужен, удалите его командой а1иОе(еСейигваРепсегег О для освобождения занимаемой им памяти. О(.()пигЬзОЬ)* к1ийенйигвзйепоегег(уоЫ); Создает Х()КВБ-объект, ло!(), и возвращает указатель на него нли нуль в случае, если ОрепС(. оказывается не в силах выделить память объекту. | уоЫ В1иОе1етейигвзяепсегег(ОЫ1пигЬзОЬ) 'лоЬ!); Удаляет Х1ЖВЯ-объект по)1'. Управление свойствами 0(()КВБ-объекта Управление тем, как будет строиться и отображаться Х()КВЯ-объект, производится через набор свойств, связанных с Х()КВБ-объектом.

Эти свойства отвечают за способ растеризации поверхности (например, закрашивание или каркас), за отображение или возврат вершин мозаичного разбиения, за детализацию этого разбиения. УоЫ к1ийигЬар горе гсу(О)()пигЬзОЬ) «лоб!', ОЬепи1п ргореггу, ОЬ йоаг иа!ие); Управляет атрибутами Х()ВВЯ-объекта, по!у. Аргумент ргореггу указывает одно из следующих свойств: 6(0 015РсАУ НООЕ, 6(0 МОРВ5 НООЕ,6с0 Сисс1М6, 6С0 5АНРс106 НЕТНОО, 6с0 5АНР(106 ТОСЕРАМСЕ, 6С0 РАРАНЕТР1С ТОСЕРАМСЕ, 6(0 0 5ТЕР, 6(0 Н 5ТЕР или 6(0 АНТО СВАО НАТР1Х. Аргумент ип!ие задает конкретное значение для свойства.

Для свойства бс0 015РСАУ НОВЕ значение по умолчанию — 6с0 Е1(с, при этом поверхность воспроизводится многоугольниками. Если совместно с ним используется свойство 6с0 00ТС1МЕ РО(У6ОМ, создаются только контуры многоугольников. Атрибут 6) 0 00Тс1МЕ РАТСН предписывает применение контуров для лоскутов и кривых усечения. (См.

раздел «Создание ХПВВ5- кривой или поверхности».) Свойство 6С0 МОРВ5 НОВЕ отвечает за то, будут ли вершины мозаики из многоугольников просто отображены (ра!ие равно 6С0 МОРВ5 РЕМОЕРЕР, это значение по умолчанию) или задействован интерфейс обратной связи (если ва!ие — 6С й0РВ5 ТЕ55ЕССАТОР). За подробностями обращайтесь к разделу «Получение примитивов с выхода тесселятора Х() йВЗ».

Интерфейс МОЙВ5 библиотеки 6С0 457 Константа 6С0 СОСС1М6 может ускорить процесс, так как в этом случае тесселяция не выполняется для Х()КВБ-объектов, целиком расположенными вне видимого объема; установите это свойство в 6С ТРОЕ для включения режима отбраковки (сп111пя) (значение по умолчанию — 61 РАС5Е). Поскольку Ы1)КВ5-объект воспроизводится как примитив с различными значениями параметров (и и о), он «разламывается» на небольшие отрезки прямых или многоугольники. Если значение аргумента рюрепу равно 6С0 5АИРС1М6 ИЕТНОО, значение оа1ие устанавливается в 610 РАТН СЕМОТН (по умолчанию), 6С0 РАРАМЕТР1С ЕРРОЙ, 6С0 ООИАХМ 015ТАМСЕ, 610 ОВОЕСТ РАТН СЕМОТН или 600 ОВОЕСТ РАРАИЕТР1С ЕРЙОЙ. Эти константы задают характер мозаичного разбиения Й()КВЗ-кривой или поверхности.

Когда па1ие равно 6С0 РАТН СЕМОТН, поверхность строится так, чтобы максимальная длина ребра, в пикселах, выходных многоугольников не превышала заданную значением 6С0 5АИРС1М6 ТОСЕЙАМСЕ. Если па!не равно 610 РАЙАИЕТР1С ЕЙЙОР,значением 610 РАРАИЕТЙ1С ТОСЕЙАМСЕ является максимальное расстояние в пикселах между выходными многоугольниками н аппроксимируемой ими поверхностью. Значение 610 ОВОЕСТ РАТН СЕМОТН для аргумента оа1ие схоже с 6С0 РАТН СЕМ6ТН, с тои разницей, что максимальная длина (величина 610 5АИРС1М6 ТОСЕРАМСЕ) примитивов тесселяции измеряется относительно пространства координат объекта, но не в пикселах.

Аналогичным образом соотносятся 6 С 0 ОВОЕСТ РАРАИЕТЙ1С ЕРРОР и 6С0 РАЙАИЕТЙ1С ЕРЙОЙ, здесь 6С0 ОВ1ЕСТ РАРАИЕТР1С ТОСЕРАМСЕ определяет предельное расстояние между примитивами тесселяции и поверхностью Ы(1КВЯ-объекта в системе координат последнего. Если значение оа1ие задано как 600 ООМА1й 015ТАМСЕ, приложение задает, в параметрических координатах, количество точек на единицу длины в и- и оизмерениях — 6С0 0 5ТЕР и 610 Н 5ТЕР соответственно. Если задано свойство (рюрегсу) 6С0 5АИРС1й6 ТОСЕЙАМСЕ и метод выборки (затр11пй) 6С0 РАТН СЕМОТН или 610 ОВЗЕСТ РАТН СЕМОТН, значение па!ие соответствует максимальной длине, в пикселах или в единицах измерения объекта (согласно свойству), используемой для выходных многоугольников.

Например, значение по умолчанию 50.0 ограничивает длину отрезка или ребра многоугольника 50 пикселами или 50.0 единицами измерения в собственной системе отсчета объекта. Если значение ргорегту равно 6С0 РАРАИЕТР1С ТОСЕЙАМСЕ и метод выборки — 6С0 РАРАИЕТР1С ЕЙЙОР или 610 ОВзЕСТ РАРАИЕТР1С ЕРРОР, величина оа1ие управляет максимальным расстоянием, в пикселах или в системе координат объекта соответственно, между мозаичными многоугольниками и аппроксимируемой ими поверхностью. Вне зависимости от метода выборки, значение по умолчанию для 6С0 РАРАИЕТР1С ТОСЕЙАМСЕ равно 0.5.

Для 6С0 РАРАИЕТЙ1С ЕРРОЙ это значение создает мозаичные многоугольники в пределах половины пиксела аппроксимируемой поверхности. (Для 6С0 ОВ! ЕСТ РАРАИЕТЙ1С ЕРЙОР действие значения по умолчанию 0.5 не настолько очевидно.) Если метод выборки задан как 6С0 ООИА1М 015ТАМСЕ и для рюреггу указано одно из двух значений: 6С0 0 5ТЕР или 6С0 Ч 5ТЕР, оа1ие является количеством выбираемых точек на единицу длины в и- или о-измерениях соответственно, в параметрических координатах. Значение по умолчанию для параметров 6С0 0 5ТЕРи 6С0 Ч 5ТЕР равно 100.

488 Глава 12 ° Вычислители и йОКВ5 Свойство 6ЕО АОТО СВАО ИАТК1Х определяет, загружак>тся ли матрицы проекции, модельно-видовая и окна просмотра с сервера ОрепС1 (по умолчани>о 66 ТКОЕ), или приложение должно само задать их с помощью к1цьоаб5аар1!пбнатг!сез() (66 РАС5Е). ПРИМЕЧАНИЕ Несколько свойств йОКВ5 (6Ш НОКВ5 МООЕ и его значение 6сО йОКВ5 ТЕ55Еь(АТОК (не по уиолчанию), 6Ш ОВ)ЕСТ РАТН (ЕЙОТН и 6Ш ОНЕСТ РАКАМЕТК(С ЕККОК) были представлены в вер. сии 6Ш 1.3.

До 6Ш 1.3 способ их реализации зависел от конкретного расширения, если они поддерживались. Посмотрите на номер версии 6Ш перед тем, как папытаегесь иаюльзоввть эти свойства. чоЫ б)ОСааа5авр1!пбйатг!сез(СЬПппгЬ50Ь) *поЦ, сопз( С11)оас тес(е1Мат>зх[16[, сонат СЬ([оаг рго)Ма(г(х[16), совет СЬ(пг а>еырог([>1[); При включенном параметре 6ЕО АВТО (ОАО ИАТК1Х молельно-видовая матрица и матрица проекции, а также окно просмотра указываются в1цЕоаб5авр1!пейатг!сев() И ИСПОльэуются для вычислениЯ матриц выбора и отбраковки, применяемых к каждой кривой или поверхности ЫУВВЗ. Если вам нужно запросить текущее значение свойства ЫТ)ВВЯ, используйте к1о6етйцгвзРгорегту().

1 оЫ 51ц6есйц г Ь з Р горе гту (С1Л)пцгЬзОЬ) "поЦ, СЕепшп р>ореп77, С) 1)оат "Ыие); Запрашивает значение свойства рп>реггу ЫТ)ВВЗ-обьекта по!у, возвращая ега по ссылке на аа1ие. Обработка ошибок й0йВ5 Поскольку при выполнении функций )Ч()ВВВ вероятно возникновение 37 различных ошибок, неплохо зарегистрировать функцию обратной связи на случай их проявления при выполнении кода. В программе из листинга 12.5 это делается вызовом к1ийцгьзса11Ьасх(спеиогЬ, 6Ш ЕККОК, (6(чо!а (")()) погЬзЕггог); чоЫ к1ийигЬ5Са11Ьаск(СП)ппгЬ5С)Ъ) *поб7', С1епшп то)нс)>, чо>б (*~п)(СЬепшп еггигСог2е)) Аргумент шй>с)> — это тип обратной связи; для включения обработки ошибок он должен быть равен 6СО ЕККОК.

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

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

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