UT - Graphics Library UtilityToolkit) являє собою незалежний від віконної системи інструментарій, написаний Марком Кілгардом (Mark Kilgard) для того, щоб приховати складність програмного інтерфейсу прикладних програм (API - ApplicationProgramming Interface) різних віконних систем. Інструментарій GLUT є предметом наступного розділу, але більш докладно він описується в книзі Марка Кілгарда OpenGL Programming for the X Window System (ISBN 0-201-48359-9). Підпрограми GLUT використовують префікс glut
FSG (Fahrenheit Scene Graph) являє собою об'єктно-орієнтована набір інструментальних засобів, що базується на бібліотеці OpenGL і надає об'єкти і методи для створення інтерактивних тривимірних графічних прикладних програм. FSG написаний мовою програмування C + +, містить попередньо підготовлені об'єкти і вбудовану модель обробки подій при взаємодії з користувачем, компоненти прикладних програм високого рівня для створення та редагування тривимірних сцен і можливості для обміну даними в інших графічних форматах. FSG не залежимо від OpenGL. h2> 2.2. Підключаються файли
Для всіх OpenGL-додатків ви можете підключити заголовний файл gl.h в кожен файл проекту. Майже всі OpenGL-програми використовують GLU, вищезгадану Бібліотеку утиліт OpenGL, яка вимагає включення заголовного файлу glu.h. Так що майже кожен вихідний файл OpenGL-програми починається зі наступних рядків:
# include В«include
Операційна система Microsoft Windows потребує, щоб заголовний файл windows.h був включений до підключення заголовних файлів gl.h або glu.h, оскільки деякі макрокоманди, визначені в Microsoft Windows-версіях заголовних файлів gl.h і glu.h, визначаються в заголовному файлі windows.h.
Якщо ви звертаєтеся безпосередньо до бібліотеки віконного інтерфейсу, яка забезпечує підтримку OpenGL, наприклад, до бібліотеки GLX, AGL, PGL або WGL, то необхідно включити додаткові заголовні файли. Наприклад, якщо ви викликаєте бібліотеку GLX, то, можливо, буде потрібно додати до вашого програмному коду рядка, наведені нижче:
В«include В«Include
У операційної системі Microsoft Windows для підключення підпрограм WGL слід додати до вашого програмного коду наступний рядок:
В«include
(і рядок
# include p> якщо вам потрібні розширені можливості OpenGL. Примітка наук. редактора.)
Якщо ви використовуєте бібліотеку GLUT для управління завданнями віконного менеджера, то необхідно буде включити наступний рядок:
# include p> Більшість OpenGL-додатків також використовують системні виклики для стандартної бібліотеки мови програмування С, тому зазвичай слід включати заголовні файли, не зв'язані з обробкою графіки (якщо ви програмуєте консольне Ут32-додаток на мові програмування С/С-н- прим. наук. ред.), такі як:
# include # include
2.3 GLUT, інструментарій утиліт бібліотеки OpenGL
2.3.1. Інструментарій бібліотек
Як ви вже знаєте, бібліотека OpenGL містить команди візуалізації, проте вона розроблялася таким чином, щоб бути незалежною від будь-якої конкретної віконної або операційної системи. Отже, ця бібліотека не містить ніяких команд для відкриття вікон або зчитування подій від клавіатури або миші. На жаль, неможливо написати закінчену графічну програму, не відкриваючи, принаймні, одне вікно, а найцікавіші програми вимагають певного обсягу обробки даних, що вводяться користувачем, або інших послуг від віконної або операційної системи. У багатьох випадках закінчені програми дають найбільш цікаві приклади, тому справжня книга використовує бібліотеку GLUT для того, щоб спростити процедури відкриття вікон, виявлення введення даних користувачем і т.д. Якщо на вашій системі є реалізація бібліотеки OpenGL і інструментарію GLUT, те приклади, наведені в цій книзі, повинні працювати без змін при зв'язуванні з вашими бібліотеками OpenGL і GLUT.
Крім того, оскільки склад команд малювання в бібліотеці OpenGL обмежений тільки командами, які генерують прості геометричні примітиви (точки, лінії і багатокутники), бібліотека GLUT включає декілька підпрограм, що створюють більш складні тривимірні об'єкти, такі як сфера, тор і чайник. Таким чином, можна отримати для перегляду досить цікаві кадри виведення програми. (Зверніть увагу на те, що Бібліотека утиліт OpenGL, GLU, також має у своєму складі підпрограми побудови двовимірних поверхонь, які створюють деякі тривимірні об'єкти, такі ж, як і ті, які створює інструментарій GLUT, в тому числі сферу, циліндр або конус.)
Інструментарій GLUT може бути не достатнім для повнофункціональних OpenGL-додатків, але він може виявитися гарною відправною точкою для вивчення OpenGL. Інша частина цього розділу коротко описує невелике підмножина підпрограм бібліотеки GLUT таким чином, щоб ви змогли розібратися з прикладами програмування в решті ч...