Спецификацию OpenGL 1.2 с поддержкой ЗО-текстур и дополнительными функциями обработки изображения опубликовали в 1998 г. Спецификацию OpenGL 1.3 завершили в 2001 г., добавив работу с кубическими текстурами (cube map textures), сжатыми текстурами, множественными текстурами и другие возможности. OpenGL 1.4 выпустили в 2002, добавив автоматическое создание текстур для объектов различной удаленности (mipmap generation), дополнительные функции сглаживания (blending), внутренние форматы текстур для хранения глубины для использования в вычислении теней, рисование множественных массивов вершин одной командой, больший контроль растеризации, контроль сглаживания границ с помощью шаблонных текстур (stencil wrapping), а также различные дополнения к текстурированию.

Стандарт OpenGL 1.5 был утвержден в июле и опубликован в октябре 2003 г. Он поддерживает буферизацию массивов вершин (vertex buffer objects) для высокопроизводительного вывода геометрии, дополнительные функции сравнения для схем затенения (shadow comparison functions), асинхронную проверку видимости объектов (occlusion query), создание многоуровневых текстур с размерами, не кратными степени двойки (non-power of two textures) для более эффективного использования текстурной памяти. Выход новой версии стандарта OpenGL (2,0) ожидается в начале 2004 г.1 Спецификация в основном будет описывать возможности программирования основных этапов обработки вершин и фрагментов. С этой версией OpenGL приложения получат способность реализации собственных алгоритмов рендеринга, используя высокоуровневый язык шейдеров2 (Shading Language).

Основная часть новой спецификации позволит работать как с вершинными, так и с фрагментными шейдерами. Эта новая возможность программирования в OpenGL - революционное изменение стандарта, отсюда и изменение номера версии с 1.5 на 2.0. Тем не менее изменение «старшего» номера не вызовет потерн совместимости с предыдущими версиями OpenGL. OpenGL 2.0 будет полностью совместим с OpenGL 1.5, Приложения, которые запускаются с OpenGL 1.5, смогут без изменений запускаться на OpenGL 2.0.

Компания Silicon Graphics создала ассоциацию, контролирующую развитие OpenGL в соответствии с набором предписаний, и назвала ее Architecture Review Board (ARB). Главная задача группы - направлять развитие OpenGL, контролируя спецификацию и подтверждающие тесты. Изначально в ARB были представлены SGI, Intel, Microsoft, Compaq, Digital Equipment Corporation, Evans & Sutherland, IBM. Сейчас в ее состав входят 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, NVIDIA, SGI, Sun Microsystems.

1.2. Развитие OpenGL

В различных реализациях OpenGL множество функций доступно в виде расширений (extensions). Механизм расширений хорошо продуман, и фирмы-поставщики аппаратного обеспечения могут определять и реализовывать свои расширения, которые позволяют использовать новые аппаратные возможности. Из-за того что дизайн OpenGL фундаментален и фиксирован, единственный способ изменить OpenGL - определить для него расширения; и это могут сделать только те, кто создает реализацию стандарта. Приложения, использующие реализацию OpenGL, не могут расширять функциональность, дополняя ту, что была предоставлена их поставщиком OpenGL. В данный момент существует около 300 различных расширений. Расширения, поддерживаемые только одним поставщиком, можно распознать по короткому префиксу в их именах, уникальному для каждого поставщика (например, для расширений, разработанных фирмой Silicon Graphics, Inc., используется префикс SGI). Расширения, поддерживаемые многими поставщиками, обозначены префиксом EXT. Расширения, тщательно проверенные комитетом ARB, обозначаются префиксом ARB. Именно им рекомендуется отдавать предпочтение при выборе способа расширения конкретной функциональности. Следующая ступенька после расширения ARB - добавление функциональности прямо в спецификацию OpenGL. Опубликованные спецификации для расширений OpenGL можно получить по адресу http://oss.sgi.com/projects/ogl-sample/ registry.


⇐ вернуться назад | | далее ⇒