Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документация на диплом Долготер.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
909.25 Кб
Скачать

1.Загальний розділ

    1. Графічні бібліотеки для роботи з 3d графікою

      1. Gd Graphics Library

GD Graphics Library - програмна бібліотека, написана Томасом Баутелом (Thomas Boutell) та іншими розробниками для динамічної роботи із зображеннями. Початковий мову програмування бібліотеки - ANSI C, але розроблені інтерфейси для безлічі інших мов програмування. Бібліотека дозволяє створювати зображення в форматах GIF, JPEG, PNG і WBMP. Підтримка GIF була припинена в 1999, коли Unisys анулювала вільну ліцензію для безкоштовного і некомерційного ПО на використання працюючого в GIF методу компресії LZW. 7 липня 2004, коли термін дії патенту закінчився, підтримка GIF була відновлена.

Назва GD спочатку позначало « GIF Draw ». Однак, після анулювання ліцензії Unisys, абревіатура розшифровується, як « Graphics Draw ».

GD дозволяє створювати зображення, що складаються з ліній, дуг, тексту (включаючи програмний вибір шрифтів) та інших зображень, а також використовувати різні кольори.

У версії 2.0 додана підтримка 32 -бітових (truecolor) зображень, Альфа - каналів, дискретизація зображень (для плавної зміни розміру 32 - бітних зображень) і багато іншого.

GD підтримує безліч мов програмування, включаючи C, PHP, Perl, Python, O'Caml, Tcl, Lua, Pascal, GNU Octave, Common Lisp, Scheme і REXX. Є також інструмент, званий fly, який дозволяє отримувати доступ до GD з будь-якої мови програмування при використанні командного рядка.

      1. OpenGL

OpenGL (Open Graphics Library - відкрита графічна бібліотека, графічний API) - специфікація, що визначає незалежний від мови програмування платформонезавісимость програмний інтерфейс для написання додатків, що використовують двовимірну і тривимірну комп'ютерну графіку.

Включає більше 300 функцій для малювання складних тривимірних сцен з простих примітивів. Використовується при створенні комп'ютерних ігор, САПР, віртуальної реальності, візуалізації в наукових дослідженнях. На платформі Windows конкурує з Direct3D.

OpenGL орієнтується на наступні два завдання:

А) Приховати складності адаптації різних 3D - прискорювачів, надаючи розробнику єдиний API.

В) Приховати відмінності в можливостях апаратних платформ, вимагаючи реалізації відсутньої функціональності за допомогою програмної емуляції.

Основним принципом роботи OpenGL є отримання наборів векторних графічних примітивів у вигляді точок, ліній і багатокутників з наступною математичною обробкою отриманих даних і побудовою растрової картинки на екрані і / або в пам'яті.

OpenGL є низькорівневим процедурним API, що змушує програміста диктувати точну послідовність кроків, щоб побудувати результуючу растрову графіку (імперативний підхід). Це є основною відмінністю від дескрипторних підходів, коли вся сцена передається у вигляді структури даних (найчастіше дерева), яке обробляється і будується на екрані. З одного боку, імперативний підхід вимагає від програміста глибокого знання законів тривимірної графіки і математичних моделей, з іншого боку - дає свободу впровадження різних інновацій.виполняются графічним конвеєром (graphics pipeline), який по суті являє собою дискретний автомат. Абсолютна більшість команд OpenGL потрапляють в одну з двох груп: або вони додають графічні примітиви на вхід в конвеєр, або конфігурують конвеєр на різне виконання трансформацій.

Існує ряд бібліотек, створених поверх або на додаток до OpenGL. Наприклад, бібліотека GLU, що є практично стандартним доповненням OpenGL і завжди її супроводжує, побудована поверх останньої, тобто використовує її функції для реалізації своїх можливостей. Інші бібліотеки, як, наприклад, GLUT і SDL, створені для реалізації можливостей, недоступних в OpenGL. До таких можливостей відносяться створення інтерфейсу користувача (вікна, кнопки, меню тощо), настройка контексту малювання (область малювання, использующаяся OpenGL), обробка повідомлень від пристроїв введення-виведення (клавіатура, миша та ін), а також робота з файлами. Зазвичай, кожен віконний менеджер має власну бібліотеку - розширення для реалізації вищеописаних можливостей, наприклад, WGL в Windows або GLX в X Window System, однак бібліотеки GLUT і SDL є крос- платформеними, що полегшує перенесення написаних додатків на інші платформи.

1.1.3 GTK +

GTK + (скорочення від GIMP ToolKit) – кроссплатформена бібліотека елементів інтерфейсу, має простий у використанні API, поряд з Qt є однією з двох найбільш популярних на сьогоднішній день бібліотек для X Window System.

Спочатку була частиною графічного редактора GIMP, вона розвинулася в окремий проект і придбала помітну популярність. GTK + - вільне ПЗ, яке розповсюджується на умовах GNU LGPL, що дозволяє створювати як вільне, так і пропрієтарне програмне забезпечення з використанням бібліотеки. GTK + є офіційною бібліотекою для створення графічного інтерфейсу проекту GNU.

GTK + написана на мові Сі, але проте, є об'єктно-орієнтованою. Однією з причин для вибору Сі в якості мови було бажання легко будувати інт-

ерфейси для інших мов програмування. В результаті під GTK + можна

писати на наступних мовах програмування:

C, C++, C#, Java, JavaScript, PHP та інші.

Власне GTK + складається з двох компонентів: GTK і GDK. Перший містить набір елементів інтерфейсу користувача, або «віджетів» (таких, як кнопка, список, поле для введення тексту і т. п.) для різних завдань. GDK відповідає за виведення на екран і може використовувати для цього X Window System, Linux Framebuffer, WinAPI або функції Mac OS X. Починаючи з версії 2.8, GDK багато в чому (але не повністю) замінена на систему отрисовки векторної графіки Cairo.

Крім Cairo, GTK + залежить від трьох бібліотек - GLib, Pango і ATK, - які розробляються разом з GTK +, але можуть використовуватися і окремо.

Программи що використовують GTK +

  • AbiWord - текстовий редактор

  • Anjuta - офіційна інтегрована середовище розробки GNOME

  • Chromium - веб -браузер, разрабативаеммий в основному компанією Google і використовує WebKit

  • Ekiga - програми для VoIP і відео -конференцій

  • Epiphany - веб -браузер середовища GNOME.

  • Evolution - програма для управління контактами та електронною поштою

  • Firefox - стандартний браузер більшості Gnome- редакцій дистрибутивів Linux.

  • GIMP - растровий графічний редактор

  • Inkscape - векторний графічний редактор

  • Midori - легкий веб -браузер

  • MonoDevelop - відкрита інтегрована середовище розробки

  • Pidgin - клієнт обміну миттєвими повідомленнями

  • Wireshark - аналізатор мережевих пакетів

  • SciTE - багатоплатформовий текстовий редактор