Основы компьютерной графики для программистов 64
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
Глава 11. Избранные главы OpenGL. Введение.
Основные возможности OpenGL
OpenGL это графическая библиотека, которая содержит набор функций для работы с
двумерной и трехмерной графикой. OpenGL является стандартной библиотекой в
большинстве 32-х разрядных операционных системах. Она присутствует во всех
версиях Windows. Это означает, что программы, использующие OpenGL, могут без
больших усилий быть перенесены на разные платформы, что является одним из плюсов
этой библиотеки.
OpenGL – универсальная
, гибкая, популярная графическая библиотека. Она сочетает
многочисленные современные достижения в области компьютерной графики с
относительной легкостью изучения. OpenGL остается основным “конкурентом” для
таких графических библиотек, как DirectX.
Библиотека OpenGL была разработана фирмой Silicon Graphics, Inc. (SGI) еще в эпоху
структурного программирования. Поэтому ее применение в чем-то похоже на вызов
функций Windows API. Методы объектно-ориентированного программирования в ней
не применяются вовсе.
Итак, применение OpenGL сводится к описанию структур данных и вызову функций,
которые обрабатывают эти данные.
В состав библиотеки входят три файла: opengl32.dll, glu32.dll, и glaux.dll. Первые два из
этих файлов формируют основу библиотеки. Третий, glaux.dll, считается
дополнительным. OpenGL может работать как на основе центрального процессора, так
и с помощью аппаратного графического ускорителя, т.е
. микросхем встроенных в плату
видеоадаптера. Аппаратное ускорение для трехмерной графики осуществляется с
помощью устанавливаемого клиентского драйвера (Installable Client Diver, ICD) и мини
драйвера (Mini-Client Driver, MCD).
Здесь будут рассмотрены далеко не все возможности OpenGL. В основном темы курса
посвящены вопросам настройки различных методов и параметров освещения и
отражения света от поверхностей трехмерных объектов. От решения этой проблемы во
многом зависит качество воспроизведения трехмерной сцены. Второй темой, на
которой остановимся более подробно, будет наложение текстур на поверхности
трехмерных объектов.
Вот некоторые из возможностей, которые включает в себя библиотека OpenGL:
• Рисование графических примитивов, таких как отрезки, треугольники,
многоугольники, сферы, цилиндры на плоскости и в пространстве.
• Поддержка различных моделей источников света, таких как точечный,
направленный и другие.
• Преобразования переноса, масштабирования и вращения трехмерных объектов.
• Изображение трехмерных объектов в параллельной и перспективной проекциях.
• Поддержка свойств материалов поверхностей.
• Сплайновые кривые и поверхности Безье и NURBS.
• Использование трафаретов.
• Эффект тумана.
• Смешение цветов и прозрачность.
• Создание тени и отражения.