Организация Khronos Group на конференции разработчиков игр (GDC 2010) в Сан-Франциско сообщила о выпуске финальной спецификации API (application programming interface) OpenGL 4.0. Финальный вариант спецификации утверждён рабочей группой ARB (Architecture Review Board), являющейся частью организации Khronos Group.
Напомним, OpenGL (Open Graphics Library — открытая графическая библиотека) является открытой разработкой, определяющей независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих 2D и 3D компьютерную графику. OpenGL является основным конкурентом API Microsoft DirectX. OpenGL 4.0 поддерживает самые современные кросс-платформенный функции для ускорения обработки графики на персональных компьютерах и рабочих станциях. Также OpenGL является основой стандарта OpenGL ES, ориентированного на применение в смартфонах.
Основные нововведения в OpenGL 4.0, доступные разработчикам, направлены на расширение функциональности. Среди них отмечаются:
* Две новые ступени обработки шейдеров, которые позволяют освободить центральный процессор от выполнения геометрической тесселяции и использовать для этих нужд GPU;
* Поддержка входных позиций выборочных фрагментных шейдеров и программируемых фрагментных шейдеров, что повышает качество рендеринга и гибкость управления сглаживанием;
* Прорисовка данных, сгенерированных OpenGL или внешними API, сходными с OpenGL, без необходимости задействования центрального процессора;
* Реализация шейдерных подпрограмм, которые позволяют существенно повысить гибкость программирования;
* Разделение текстурных состояний и текстурных данных при помощи внедрения нового объекта типов sampler objects;
* Повышение точности и качества рендеринга за счет внедрения 64-битных шейдерных операций с двойной точностью;
* Повышение производительности геометрических шейдеров, массивов данных и запросов к таймеру.
Спецификация OpenGL 4.0 также включает обновление GLSL 4.00 для языка программирования шейдеров, что позволяет разработчикам получить доступ к самым последним поколениям ускорений GPU, существенно повысить качество графики, повысить производительность и гибкость программирования. Вместе с тем новая спецификация сохраняет поддержку ядер и профилей совместимости OpenGL 3.2.
Ознакомиться со спецификациями OpenGL 4.0 можно на сайте Khronos Group