Реферат по предмету "Информатика, программирование"


Деякі формати мультимедіа. Використання шейдерів та фракталів

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
Бердичівськийполітехнічний коледж
 
 
 
 
 
 
 
Контрольна робота
з предмета: Комп’ютерна графіка
(варіант №18)
 
Деякіформати мультимедіа.Використанняшейдерів тафракталів
 
Виконав: студентгрупи Пзс-504
ЮрчукСергій Леонідович
 
Перевірив викладач:
Козік Вадим Юрійович
 
 
 

1.  Формати мультимедіа
 
Через особливості відеоінформації у цифровому відеозаписіущільнення без утрат саме по собі майже не застосовується. Використання цихметодів ущільнення (подібних до методів, що використовуються в архіваторах типуWinZIP) дозволяє зменшити розмір файлу не більше, ніж на 2/3, хоча, звісно, прицьому не відбувається погіршення якості зображення.
Ущільнення з утратою якості є основним методом зменшеннярозміру відеофайлів. Такі алгоритми дозволяють визначити ту частину інформації,що глядач, імовірніше всього, не помітить при перегляді фільму, й видалити її зфайлу. Основними форматами цифрового відео, що використовують ущільнення зутратами, на сьогоднішній день є Apple QuickTime, AVI, Intel Indeo, MJPEG,MPEG-1, MPEG-2, і MPEG-4.
Ми вже зазначали на початку глави, що ущільнення стає більшефективним при одночасній обробці даних декількох кадрів.
Один із прийомів, що використовується при роботі звідеоданими, полягає в обчисленні послідовних різниць, а саме — в простомувідніманні даних наступного кадру від даних попереднього та ущільненніотриманих різниць. Як правило, зображення багато в чому схожі, отже великіфрагменти зображень будуть давати нульову різницю. Однак в ряді випадків цейприйом виявляється марним (наприклад, при повільному панорамуванні детальнопроробленої сцени).
Більш ефективним прийомом є передбачення руху, а саме —програма кодування шукає блоки пікселів, що переміщуються, й кодує тількикоординати цього блоку та його переміщення. Певна річ, порівняно з декодуваннямпроцес самого кодування (ущільнення) при передбаченні руху складніше реалізувати.У результаті деякі найкращі алгоритми ущільнення відеоданих асиметричні, тобтопроцес ущільнення потребує набагато більше зусиль (часу), аніж процесдекодування. Слід зазначити, що, у даному випадку, асиметричність алгоритмів неє істотним недоліком через те, що ущільнення відеоданих здійснюється, якправило, один раз у кінці роботи над ними. Головне, щоб при переглядівідеоданих забезпечувалася достатня швидкість декодування.
Вочевидь, для першого кадру фільму не можна використатиметод обчислення різниць. Отже, завжди буде існувати принаймні один опорнийкадр (І-кадр), що не потребує знання попереднього кадру для декодування.Насправді такий опорний кадр не один. По всій довжині фільму спеціальнорозміщені опорні кадри. Деякі з них — природні опорні кадри, що виникають,наприклад, при зміні сцени. Наявність багатьох опорних кадрів корисна в рядівипадків: при утраті деяких кадрів; при перегляді фільму не з початку; принеобхідності в цілях синхронізації пропускати декілька нерозпакованих кадрів(на повільних процесорах).
Розглянемо деякі формати мультимедіа.
• Формат AVI (Audio Video Interleaved), що є спеціальнимформатом представлення відеофайлів в операційних системах сімейства Windows ітому широко використовується на персональних комп'ютерах. Цей формат створюєокремі моментальні фотографії, фрейми, й потім зв'язує їх в одне ціле, причомуаудіосигнал може бути частиною фреймів. На відміну від інших форматів, форматAVI є немов би оболонкою для програм ущільнення відеоданих. Видів ущільнення,що підходять для файлів AVI, дуже багато. Для того, щоб створити файл AVI,необхідно використовувати відповідне устаткування, причому можливе використаннятрадиційної аналогової відеокамери з наступним цифруванням аналоговоговідеосигналу.
Формат відеофайлів MPEG (Motion Picture Experts Group), щоущільнює відеофайли за алгоритмами, які використовують обчислення послідовнихрізниць і завбачення руху. Так, наприклад, якщо протягом декількох секунддемонструється той самий нерухомий об'єкт, то в MPEG файлі за цей час будутьзбережені тільки один фрейм і інформація про те, на протязі якого часу в цьомуфреймі не відбувалися зміни. Саме тому розміри MPEG файлів менші в середньому втри рази, ніж розміри інших відеофайлів. Зазвичай, для їхнього створення йвідтворення потрібне особливе технічне й програмне забезпечення.
Формат QuickTime, що був розроблений фірмою Apple дляопераційних систем сімейств Macintosh і Windows. QuickTime — розширення програмногозабезпечення System Macintosh, яке дозволяє програмам, що підтримуютьQuickTime, відображати анімаційні чи відеоряди точно синхронізованими звисокоякісним цифровим звуком. В операційній системі Windows відеофайли форматуQuickTime мають розширення MOV. З 1993 по 1995 р. цей формат був домінуючим.Його версія за номером 4.1 дозволяє передавати дані в потоковому режимі. Цезначить, що немає необхідності цілком завантажувати файл, щоб почати переглядвідеофільму. Однак із появою специфікацій MPEG даний формат поступово втрачаєпопулярність. Одна з проблем полягає в закритості стандарту QuickTime. Способи,за допомогою яких кодується відео, Apple тримає в секреті. Отже, сторонніпрограмісти не можуть написати програм, що ущільнюють відео в цей формат.
2.   Історія створення форматів мультимедіа
Зробимо невеликий екскурс в історію створення форматівмультимедіа. У 1989 році компанія Apple Computer приступила до розробкитехнології, що дозволяє переглядати на екрані комп'ютера зображення, щорухається, назване «цифровим відео», разом, природно, зі звуковимсупроводом. Ця технологія була випущена у світ у 1991 році під назвоюQuickTime.
Формат для відео А VI поширився після виходу Video forWindows для Windows 3.1 у листопаді 1992 року.
Формати QuickTime і AVI дозволили користувачам побачити накомп'ютері уривки з фільмів і телепередач. Однак рівень ущільнення відеопотокубув досить низьким, якість зображення невисока. Середньої тривалості фільм мавгігантський для кінця 80-х років розмір, більший за гігабайт.
У 1988 році був заснований комітет Motion Picture ExpertsGroup — експертна група кінематографії (зображень, що рухаються). У цьому жроці була розпочата розробка формату MPEG -1, що був випущений у 1992 році.
Наявність дешевих CD-ROM ємністю до 640 Mb привела до появина ринку вiдеодисків стандарту CD-I, розроблених фірмою Philips. Стандарт CD-I дозволявумістити на двох дисках CD півторагодинний фільм якості VHS-відеокасети зістереозвуком. Типовий побутовий формат відеофільму — кодування MPEG-1 длязображення у стандарті PAL із кадром розміром 352x288 пікселів, 25 кадрів/с.Аудіочастина — стереозвук із частотою дискретизації 44,1 Кгц, ущільнений MPEG-1Layer. До моменту остаточної стандартизації формату MPEG-1 було створено тризвукових кодера цього сімейства — MPEG-1 Layer I, Layer II і Layer III(знаменитий МРЗ).
У 1992 році була почата розробка формату MPEG-2, який буввипущений через два роки. Стандарт SuperVideoCD дозволив трохи поліпшити якістьзображення завдяки застосуванню кодування MPEG-2. Але в 1992 році не існувалошироко доступних носіїв, на котрі можна було би записати відеоінформацію,ущільнену MPEG-2. Та й тогочасна комп'ютерна техніка не могла забезпечитипотрібну смугу пропускання — від 2 до 9 Мбіт/с, яку змогло забезпечититогочасне супутникове телебачення. Слід зазначити, що високі вимоги до каналуобумовлені більшими, ніж у MPEG-1, роздільністю зображення й кількістюкадрів/секунду.
У жовтні 1995 року через космічний телевізійний супутник«Pan Am Sat» було здійснено перше 20-канальне ТБ-віщання, якевикористовувало стандарт MPEG-2. Супутник здійснював і дотепер здійснюєтрансляцію на території Скандинавії, Бельгії, Нідерландів, Люксембургу,Близького Сходу й Африки.
Завдяки MPEG-2 стала можливою поява телебачення високоїроздільності — HDTV, у якого зображення набагато чіткіше, ніж у звичайноготелебачення (зараз у Японії є модним формат HDTV із роздільністю 1600*1200*32біти та форматом MPEG-2 із bitrate від 8 Мбіт /с й вище).
Вважається, що якість HDTV з роздільністю (1920x1080) йпотоком некомпенсованих даних близько 100 Мбіт/с упритул наближена до меж роздільноїздатності людського зору. Тим часом, за оцінками нейрофізіологів, пропускназдатність очного нерва не може перевищувати 100 Кбіт/с. Отже, зоровий апаратлюдини, як найкращий з усіх існуючих кодерів, забезпечує коефіцієнт ущільненняблизько 1:1000 [56].
Крім того, у форматі MPEG-2 записують відеодані на такіцифрові носії як DVD-відеодиск. Типовий розмір кадру для DVD-фільму увідеостандарті PAL/SECAM складає 720x576 при 25 кадрах/с, чи 640x480 при 30кадрах/с в стандарті NTSC. Застосування формату MPEG-2 забезпечило DVD-фільмамкращу якість зображення, ніж фільмам на VHS-відеокасетах.
Стандартний одношаровий і однобічний диск DVD може зберігатидо 4.7 ГБ даних. Крім того, DVD можуть виготовлятися двошаровими, що дозволяєзбільшити ємність збережених на одній стороні даних до 8.5 ГБ, тадвосторонніми, що збільшує ємність одного диска до 17 ГБ (після програванняполовини його треба перевертати). На DVD можна розмістити відео високої якостіз прийнятим у сучасному кіно форматом екрана 16:9 (більш витягнутим погоризонталі, ніж звичний екран TV), а також багатоканальний об'ємний звук ізякістю, що перевищує якість CD.
Крім того, у лютому 2002 року представники компаній Sony,Matsushita (Panasonic), Samsung, LG, Philips, Thomson, Hitachi, Sharp і Pioneerоголосили про створення й просування нового формату в DVD і CD-ROM,застосований синій лазер (blue-violet laser). Створені вже перші прототипи 100Гб дисків [113].
Формат MPEG-4 почали розробляти ще в першій половині 90-хроків минулого століття. Як основу формату файлу були прийняті розроблені AppleComputer алгоритми формату QuickTime. У 1998 р. була випущена перша версіяMPEG-4, у грудні 1999 року був представлений реліз цього формату, що одержавофіційний статус стандарту ISO/IEC (International StandardsOrganization/International Electrotechnical Commission). MPEG-4 був задуманийяк спосіб передачі потокових медіа-даних, у першу чергу відео, каналами знизькою пропускною здатністю. Слід зазначити, що MPEG-4 — окремий стандартISO/IEC-14496, що застосовується в тих областях, де використання форматівMPEG-1 і MPEG-2 не є ефективним. На відміну від MPEG-1 і MPEG-2, що здійснювалитільки ущільнення й декомпресію аудіо- та відеосигналів, MPEG-4 забезпечуєінтерактивну передачу потокових медіа-даних — створення й доставкумультимедійної цифрової інформації Інтернетом на комп'ютери, а також намобільні пристрої.
 
2. Шейдери та фрактали
Розвиток методів і технологій текстурування та намаганнявикористовувати гнучкі процедурні методи зафарбовування призвели до появипоняття шейдер. Шейдер (від англ. shade — затемнювати, тут не плутати shade ізshadow — тінь, шейдер затемнює, а не затінює — для генерації тіней від об'єктіву графіці використовуються доки що не шейдери, а інші засоби) — це невеличкапрограма, яка містить набір інструкцій для розрахунку кольорів пікселівоб'єктів у ході циклу візуалізації. Фактично, шейдери трохи в іншому виглядівикористовувалися вже давно в графічних пакетах для створення спецефектів укіно (наприклад, у пакеті Maya). При створенні спецефектів для запису кадрівкінофільму не дуже потрібен режим реального часу, кожний кадр може генеруватисяхвилину та довше, головне тут — це якість зображення.
У 2001-2002 pp. для масового вжитку, в першу чергу длякомп'ютерних ігор, почали виготовлятися відеоадаптери (nVidia GeForce3,. ATIRadeon 8500), які апаратно підтримують базові операції шейдерів. Розробникиграфічних програм зацікавилися гнучкими можливостями шейдерів, оскількивідчувалася обмеженість фіксованого набору процедур графічного конвейєра.Можливість програмування графічних процесорів дає новий поштовх розвиткузасобів комп'ютерної графіки. На рис. 3.34 наведено приклад зображення хвиль,створеного за допомогою шейдерів.
/>
Сучасні графічні процесори здатні виконувати для кожногопіксела десятки й сотні шейдерних команд у реальному часі.
Зараз існує два типи шейдерів — вершинні {vertex shaders)та піксельні (pixel shaders). Вершинні шейдери призначені для обчислення координатвершин полігонів та виконання розрахунків освітлення, наприклад, методом Гуро.Їх можна вважати доповненням можливостей апаратних засобів T&L (transformand lighting). Вершинний шейдер може обробляти всі дані, що стосуються одноївершини — координати вершини, координати нормалі, текстурні координати, колір,освітлення тощо.
Піксельні шейдери з'явилися спочатку як спосіб описунакладання пікселів багатошарових текстур. Тепер вони містять різноманітніоперації визначення кольорів окремих пікселів. Шейдери оперують такими типамиданих — цілі числа, числа з плаваючою точкою, трійки RGB, вектори, матриці.
Наведемо формат однієї команди шейдера для DirectX 8
/>
де: op— ім'я команди,
dest — регістр, в який записується результат,
src0, srcl, src2 — регістри вхідних даних.
Як бачимо, мова команд шейдерів фактично є асемблером. Длярозробки шейдер-них програм можна використовувати API DirectX (8.0 та наступнихверсій), OpenGL 2.0 (шейдерні операції частково підтримуються в розширенняхOpenGL версій 1.2 та 1.3). Також розроблені спеціальні мови програмування дляшейдерів — це Cg (nVidia) та Monkey (ATI) [98].
Загальні відомості про шейдерні можливості сучаснихвідеоадаптерів надані у таблиці 3.2
/>
/>Фрактал можна визначити як об'єкт доситьскладної форми, який отримано в результаті виконання простого ітераційногоциклу. Ітераційність, рекурсивність обумовлюють такі властивості фракталів, яксамоподібність — окремі частини схожі за формою на весь фрактал у цілому.Латинське fractus означає «складений із фрагментів». У 1975 роціфранцузький математик Бенуа Мандельброт видав книгу «The fractal Geometryof Nature» [38]. Відтоді слово «фрактал» стало модним.
Фракталом Мандельброта названо фігуру, яка породжуєтьсядуже простим циклом. Для створення цього фрактала необхідно для кожної точкизображення виконати цикл ітерацій згідно з формулою:
/>
де k = 0, 1,..., п. Величини zk — це комплексні числа, zk =xk + iyk, причому стартові значення х0 та у0 — це координати точки зображення.Для кожної точки зображення ітерації виконуються обмежену кількість разів (n)або доти, доки модуль числа zk не перевищує 2. Модуль комплексного числадорівнює кореню квадратному з х2 + у2. Для обчислення квадрата величини zkможна скористатися формулою z2 = (х + іу) (х + іу) = (х2 — у2) + і(2у),оскільки і2 = -1. Цикл ітерацій для фракталу Мандельброта можна виконувати вдіапазоні х = (від -2.2, до 1), у = (від -1.2 до 1.2). Для того щоб отриматизображення в растрі, необхідно перераховувати координати цього діапазону впіксельні (рис. 3.35).
Фрактал Джулія зовсім не схожий на фрактал Мандельброта,однак він визначається ітераційним циклом, майже повністю тотожнім циклугенерації Мандельброта. Формула ітерацій для фрактала Джулія така:
/>
/>
На рис. 3.36 зображено фрактал Джулія для с = 0.36 + і0.36, п = 256.
/>
Як бачимо, фрактал самоподібний — при будь-якому збільшенніокремі частини нагадують форми цілого. Самоподiбнiсть вважається важливоювластивістю фракталів. Це відрізняє їх від інших типів об'єктів складної форми.
Розглянемо наступний приклад фрактала — фрактал Ньютон. Длянього ітераційна формула має такий вигляд:
/>
де z — також комплексні числа, причому z0 = х + іувідповідає координатам точки зображення.
Умовою припинення циклу ітерації для фракталу Ньютон єнаближення значень |z4 — 1| до нуля. Наприклад, зображення на рис. 3.37 булоотримане для |z4- 1|2> 0.001, межі розрахунку х = (від -1 до 1), у = (від-1до 1).
Розглянемо ще один різновид фракталів. Такі фракталиназвано геометричними, оскільки їхня форма може бути описана як послідовністьпростих геометричних операцій. Наприклад, крива Кох стає фракталом у результатібезкінечної кількості ітерацій, в ході яких виконується поділ кожного відрізкапрямої на три частини. На рис. 3.38 показані три ітерації — поступово лініястає схожою на сніжинку.
/>
Наступну групу складають фрактали, що генеруютьсявідповідно до методу «систем ітеративних функцій» — IFS (IteratedFunctions Systems). Цей метод може бути описаний, як послідовний ітеративнийрозрахунок координат нових точок у просторі:
/>
де Fx та Fy — функції перетворення координат, наприклад,афінного перетворення. Ці функції й обумовлюють форму фрактала. У випадкуафінного перетворення необхідно знайти відповідні числові значеннякоефіцієнтів.
Давайте спробуємо розробити фрактал, який виглядав би, якрослина. Уявимо стовбур, на якому багато гілочок. На кожній гілочці багатаменших гілочок і так далі. Найменші гілки можна вважати листям або колючками.Усі елементи будемо рисувати відрізками прямої. Кожен відрізок визначатиметьсядвома кінцевими точками.
Для початку ітерацій необхідно задати стартові координатикінців відрізку. Це будуть точки 1, 2. На кожному кроці ітерацій будеморозраховувати координати інших точок.
Спочатку знаходимо точку 3. Це повернута на кут а точка 2,центр повороту — в точці 1 (рис. 3.39):
/>
/>
Якщо /> = 0, то стовбур та всі гілкипрямі. Потім знаходимо точку 4. Від неї будуть розповсюджуватися гілки. Нехайспіввідношення довжин відрізків 1-4 та 1-3 дорівнює к, причому 0
/>
Тепер задамо довжину та кут нахилу гілок, що виходять ізточки 4. Спочатку знайдемо координати точки 5. Уведемо ще один параметр — к1,який визначатиме співвідношення довжин відрізків 4-5 та 4-3, причому також 0
/>
Окрім розрахунку опорних точок, на кожному кроці будеморисувати один відрізок 1-4. В залежності від номера ітерацій можна змінюватиколір відрізка. Також можна встановлювати його товщину, наприклад, пропорційнодовжині.
Таким чином, фрактал ми визначили як послідовність афіннихперетворень координат точок. Величини />, />, к, к1 — це параметри, якіописують вигляд фрактала в цілому. Вони є константами на протязі усьогоітеративного процесу. Це дає можливість в ітераціях використовувати тількиоперації додавання, віднімання та множення, якщо обчислити значення sin(),cos(), (1 — к) та (1 — kl) тільки один раз перед початком ітерацій у виглядікоефіцієнтів-констант.
Дамо запис алгоритму у вигляді рекурсивної процедури крок():
/>
Для того щоб нарисувати фрактал, необхідно викликатипроцедуру КРОК, встановивши відповідні значення її аргументів: крок(xl, yl, х2,у2, 0). Зверніть увагу на один з аргументів цієї процедури — пит, який спочаткумає значення 0. У тілі процедури є три рекурсивних виклики з різними значеннямицього аргументу:
• крок(х4, у4, х3, у3, num)—продовжуємо стовбур;
• крок(х4, у4, х6, у6, num+l)—права гілка;
• крок(х4, у4, х7, у7, num+l) —ліва гілка.
Значення пит показує ступінь деталізації обрахуваннядерева. Один цикл ітерацій містить багато кроків, що відповідає одному значеннювеличини num. Числове значення пит можна використовувати для припиненняітеративного процесу, а також для визначення поточного кольору елементів «рослини».
Завершення циклів ітерацій у нашому алгоритмі відбуваєтьсятоді, коли довжина гілки стає менше від деякої величини lmin, наприклад, lmin= 1.
Цей фрактал при />= 2°, /> = 86°, к = 0.14, к1 = 0.3 схожийна папороть (рис. 3.40).
/>
Метод IFS використовується не тільки для створеннязображень. Його використали Барнслі та Слоан для ефективного ущільненняграфічних зображень при записі до файла. Основна ідея така: оскільки фракталиможуть репрезентувати дуже складні зображення за допомогою простих ітерацій, тоопис цих ітерацій потребує значно меншого обсягу інформації, ніж відповіднірастрові зображення. Дkя кодування зображень необхідно вирішувати оберненузадачу — для зображення (або його фрагмента) підібрати відповідні коефіцієнтиафінного перетворення. Цей метод використовується для запису кольорових фотографійу файли з ущільненням у десятки і сотні разів без помітного погіршеннязображення. Формат таких графічних файлів було названо FIF (Fractal ImageFormat) і запатентовано фірмою Iterated Systems [40].

3.      Засобами бібліотекиOpengl активізувати джерело світла на формі. Забезпечитиоперацію масштабування використовуючи клавіші “+” та “-“
/>
object frmGL: TfrmGL
Left = 163
Top = 167
Width = 385
Height = 272
Caption = #1055#1079#1089'-504'#1070#1088#1095#1091#1082' '#1057'.'#1051'.'
Color = clBlack
Font.Charset = RUSSIAN_CHARSET
Font.Color = clMaroon
Font.Height = -16
Font.Name = 'Times New Roman'
Font.Style = [fsBold, fsItalic]
OldCreateOrder = True
Position = poScreenCenter
OnCreate = FormCreate
OnDestroy = FormDestroy
OnKeyDown = FormKeyDown
OnPaint = FormPaint
OnResize = FormResize
PixelsPerInch = 96
TextHeight = 19
end
procedure TfrmGL.FormPaint(Sender:TObject);
begin
glClear(GL_COLOR_BUFFER_BIT orGL_DEPTH_BUFFER_BIT);
glPushMatrix;
glRotatef(Angle, 0.0, 1.0, 0.0);// поворот на угол
glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE, @MaterialColor);
OutText ('ЮРЧУК С.Л.');
glPopMatrix;
SwapBuffers(DC);
end;
procedure FNTimeCallBack(uTimerID,uMessage: UINT;dwUser, dw1, dw2: DWORD) stdcall;
begin
With frmGL do begin
Angle := Angle + 0.2;
If (Angle >= 720.0) then Angle:= 0.0;
MaterialColor [0] := (720.0 — Angle) / 720.0;
MaterialColor [1] := Angle /720.0;
MaterialColor [2] := Angle /720.0;
InvalidateRect(Handle, nil,False);
end;
end;
procedureTfrmGL.FormCreate(Sender: TObject);
begin
Angle := 0;
DC := GetDC(Handle);
SetDCPixelFormat;
hrc := wglCreateContext(DC);
wglMakeCurrent(DC, hrc);
wglUseFontOutlines(Canvas.Handle,0, 255, GLF_START_LIST, 0.0, 0.15,
WGL_FONT_POLYGONS, nil);
Init;
uTimerID := timeSetEvent (1, 0,@FNTimeCallBack, 0, TIME_PERIODIC);
end;
procedure TfrmGL.FormResize(Sender:TObject);
begin
glViewport(0, 0, ClientWidth,ClientHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
gluPerspective(40.0, ClientWidth /ClientHeight, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
glTranslatef(0.0, 0.0, -8.0);
glRotatef(30.0, 1.0, 0.0, 0.0);
InvalidateRect(Handle, nil,False);
end;
procedureTfrmGL.FormDestroy(Sender: TObject);
begin
timeKillEvent(uTimerID);
glDeleteLists (GLF_START_LIST,256);
wglMakeCurrent(0, 0);
wglDeleteContext(hrc);
ReleaseDC(Handle, DC);
DeleteDC (DC);
end;
procedureTfrmGL.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
If Key = VK_ESCAPE then Close
end;
procedure TfrmGL.SetDCPixelFormat;
var
nPixelFormat: Integer;
pfd: TPixelFormatDescriptor;
begin
FillChar(pfd, SizeOf(pfd), 0);
with pfd do begin
nSize := sizeof(pfd);
nVersion := 1;
dwFlags := PFD_DRAW_TO_WINDOW or
PFD_SUPPORT_OPENGL or
PFD_DOUBLEBUFFER;
iPixelType:= PFD_TYPE_RGBA;
cColorBits:= 24;
cDepthBits:= 32;
iLayerType:= PFD_MAIN_PLANE;
end;
nPixelFormat :=ChoosePixelFormat(DC, @pfd);
SetPixelFormat(DC, nPixelFormat,@pfd);
end;
end.

Список використаної літератури
 
1.     С.В.Глушаков, Г.А.Крабе Компютерная графика,Харьков 2002
2.     Блінова Т.О., Порєв В.М. Комп’ютерна графіка / Заред. В.М.Горєва. – К.: Видавництво “Юніор”, 2004.
3.     OpenGl, технология ставшая символов, Учебник впримерах.
4.     Конспект лекцій.
5.     Мережа Інтернет.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.