Обновление OpenGL И ES


На этой неделе на выставке SIGGRAPH 2012 группа Khronos отмечает 20-летие OpenGL, кросс-платформенной спецификации API 3D-графики, и выпустила две обновленные версии-OpenGL 4.3 и OpenGL ES 3.0.

OpenGL ES-это сокращенная версия OpenGL, которая обеспечивает рендеринг 3D-графики на мобильных телефонах. Он видит крупное обновление, которое добавляет поддержку GPU и значительно повышает скорость рендеринга текстур. Благодаря добавлению функций из OpenGL 3.x и 4.x его шейдеры стали более мощными, с полной поддержкой 32-битных целых чисел и данных с плавающей запятой.

В результате графические процессоры OpenGL ES 3.0 будут поддерживать более сложные текстуры, в том числе с произвольными размерами (вместо того, чтобы требовать, чтобы размеры каждого ребра были в степени двух) и со значениями с плавающей запятой. Также важно добавить новые форматы сжатых текстур, ETC2 и EAC, которые используют алгоритмы, разработанные Ericsson, и доступны бесплатно.

OpenGL 4.3-это обновление с десятичной запятой, но у него есть длинный список улучшений, некоторые из которых должны держать его в курсе OpenGL ES 3.0:

вычислительные шейдеры, использующие параллелизм GPU для расширенных вычислений, таких как обработка изображений, объемов и геометрии в контексте графического конвейера;

объекты буфера хранения шейдеров, которые позволяют шейдерам вершин, тесселяции, геометрии, фрагментов и вычислений считывать и записывать большие объемы данных и передавать значительные данные между этапами шейдера;

запросы параметров текстуры для обнаружения фактических ограничений поддерживаемых параметров текстуры на текущей платформе;

высококачественное сжатие текстур ETC2 / EAC в качестве стандартной функции устраняет необходимость в отдельном наборе текстур для каждой платформы;

возможность отладки для получения отладочных сообщений во время разработки приложения;

представления текстур для интерпретации текстур различными способами без дублирования самих данных текстур;

косвенная многопоточность, которая позволяет графическому процессору вычислять и хранить параметры для нескольких команд рисования в буферном объекте и повторно использовать эти параметры с помощью одной команды рисования, особенно эффективной для рендеринга многих объектов с низким количеством треугольников;

повышенная безопасность памяти, гарантирующая, что приложение не сможет читать или записывать данные другого приложения за пределами своих собственных буферов;

расширение надежности для нескольких приложений, которое гарантирует, что приложение, вызывающее сброс GPU, не повлияет на другие запущенные приложения.

Многие считают, что OpenGL отстал от конкурирующих графических пакетов, таких как DirectX, но с тех пор, как группа Khronos встала у руля, дела пошли быстрее. OpenGL ES по-прежнему отстает от DirectX, но до тех пор, пока не будет выпущена Windows Phone 8, будет трудно сравнить их каким-либо реалистичным способом.

Улучшения в OpenGL 4.3 довольно незначительны, за исключением вычислительных шейдеров, которые значительно облегчают использование графического процессора для неграфических вычислений. Это позволило бы использовать графический процессор для таких задач, как физика игр или искусственный интеллект, в то время как графический конвейер может свободно выполнять рендеринг следующего кадра.

Nvidia уже выпустила набор бета-драйверов OpenGL 4.3, и другие, вероятно, последуют за ними.


Добавить комментарий