Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Побудова фрактальних поверхонь в комп'ютерній г...doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

5. Опис графічних бібліотек для написання 3d – програм та ігор

Для прискорення розробки ЗD [11] - програм та ігор використовуються спеціалізовані прикладні програмні (графічні) бібліотеки. Ці бібліотеки можуть бути як стандартними (розробленими лідерами ЗD- індустрії), так і фірмовими (розробленими виробниками ЗD- прискорювачів). Функції бібліотеки доступні через відповідний API (Application Programming Interface) - програмний інтерфейс розробника. Можна приблизно сказати, що API - мова опису тривимірної графіки. Відповідно, кожна ЗD - програма написана з використанням деякого API і відповідно працюватиме у вашій системі тільки в тому випадку, якщо відео карта підтримує відповідний API, Від самого API багато в чому залежить якість і продуктивність роботи відеоадаптера.

В даний час відео карти підтримують два стандартних API:

OpenGL корпорації Silicon Graphic (SGI). Доступний в ОС Windows NT. У Windows 9x реалізований не повністю. У свою чергу, Microsoft створила бібліотеку MCD (Mini Client Driver), що дозволяє задіювати основні можливості OpenGL в Windows 9x.

Direct3d корпорації Microsoft для ОС Windows 9x і NT, скорочено D3d. Він є частиною Microsoft DirectX, який стандартно вбудований до цієї ОС.

5.1 Опис графічної бібліотеки OpenGl

OpenGL [6,15] є на даний момент одним з найпопулярніших програмних інтерфейсів для розробки застосувань в області двовимірної і тривимірної графіки. Наприклад в таких програмних продуктах як для моделювання 3D – графіки це є 3Ds Max, Alias Maya, Auto CAD, Google SketchUp, а також в комп’ютерних іграх як DOOM 3, Quake 1 - 4, Half-Life.

Стандарт OpenGL був розроблений і затверджений в 1992 році провідними фірмами в області розробки програмного забезпечення, а його основою стала бібліотека IRIS GL, розроблена Silicon Graphics.

Характерними особливостями OpenGL, які забезпечили розповсюдження і розвиток цього графічного стандарту, є:

Стабільність - доповнення і зміни в стандарті реалізуються так, щоб зберегти сумісність з розробленим раніше програмним забезпеченням.

Надійність і переносимість - застосування, використовуючи OpenGL, гарантують однаковий візуальний результат незалежно від типу використовуваної операційної системи і організації відображення інформації. Крім того, ці застосування можуть виконуватися як на персональних комп'ютерах, так і на робочих станціях і суперкомп'ютерах.

Легкість застосування - стандарт OpenGL має продуману структуру і інтуїтивно зрозумілий інтерфейс, що дозволяє з меншими витратами створювати ефективні застосування, що містять менше рядків коду, чим з використанням інших графічних бібліотек. Необхідні функції для забезпечення сумісності з різним устаткуванням реалізовані на рівні бібліотеки і значно спрощують розробку застосувань.

Основні можливості OpenGL

· Набір базових примітивів: точки, лінії, багатокутники і тому подібне

· Видові і координатні перетворення

· Видалення невидимих ліній і поверхонь (z-буфер)

· Використання сплайнів для побудови ліній і поверхонь

· Накладення текстури і застосування освітлення

· Додавання спеціальних ефектів: туману, зміна прозорості, сполучення кольорів (blending), усунення ступінчастості (anti-aliasing).

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

На даний момент реалізація OpenGL включає декілька бібліотек (опис базових функцій OpenGL, Glu,glut).

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

Перша з цих бібліотек називається GLU. Ця бібліотека вже стала стандартом і поставляється разом з головною бібліотекою OpenGL. До складу цієї бібліотеки увійшли складніші функції, наприклад для того, щоб визначити циліндр або диск буде потрібно всього одну команду. Також до бібліотеки увійшли функції для роботи реалізовані додаткові операції над матрицями і додаткові види проекцій.

Наступна бібліотека, також широко використовувана - це GLUT. Це також незалежна від платформи бібліотека. Вона реалізує не тільки додаткові функції OpenGL, але і надає функції для роботи з вікнами, клавіатурою і мишкою. Для того, щоб працювати з OpenGL в конкретній операційній системі наприклад Windows, треба провести деяку попередню настройку і ця попередня настройка залежить від конкретної операційної системи. З бібліотекою GLUT все набагато спрощується, буквально декількома командами можна визначити вікно, в якому працюватиме OpenGL, визначити переривання від клавіатури або мишки і все це не залежатиме від операційної системи. Бібліотека надає також деякі функції, за допомогою яких можна визначати деякі складні фігури, такі як конуси, тетраедри, і навіть можна за допомогою однієї команди визначити чайник!