Организация Khronos group представила обновлённую версию спецификации OpenGL 4.2 и языка описания шейдеров GLSL 4.20 (OpenGL Shading Language). Новая версия спецификации обратно совместима с предыдущими версиями OpenGL и содержит улучшения, подготовленные на основе пожеланий разработчиков графических приложений и игр.

Компания NVIDIA выпустила тестовую версию проприетарных видеодрайверов с поддержкой OpenGL 4.2 сразу после публикации спецификации. Драйвер полностью поддерживает OpenGL 4.2 для карт NVIDIA GeForce 400/500 (Fermi) и доступен для платформ Windows, Solaris, Linux и FreeBSD. Компания AMD сообщила о намерении выпустить в ближайшие дни бета-версию драйверов AMD Catalyst с поддержкой OpenGL 4.2. Поддержка OpenGL 4.2 в свободной библиотеке Mesa 3D пока не планируется в обозримом будущем. В настоящее время в Mesa 3D полностью обеспечена поддержка OpenGL 2.1 и частично OpenGL 3.0, довести до конца работу над поддержкой всех возможностей OpenGL 3.0 планируется к концу года.

Из добавленных в OpenGL 4.2 улучшений можно отметить:

  • Возможность использования в шейдерах атомарных счетчиков и атомарных операций модификации (атомарный цикл чтение-изменение-запись) для одного уровня текстур. Эти возможности могут быть использованы одновременно, например, для использования счетчика для каждого пикселя в буфере, используемом для однопроходной отрисовки, независимо от порядка выбора пикселов.
  • Возможность геометрических преобразований с использованием тесселяции на стороне GPU и отрисовки нескольких экземпляров полученных преобразований, что позволяет эффективно менять позицию и воспроизводить копии для сложных объектов;
  • Поддержка изменения произвольной части сжатой текстуры, без повторной загрузки в GPU текстуры целиком, что позволяет добиться существенного роста производительности;
  • Поддержка упаковки нескольких 8- и 16-разрядных значений в одно 32-разрядное значение для эффективной обработки шейдеров cо значительным сокращением используемого объема памяти и повышением пропускной способности. Например, подобная упаковка особенно полезна для организации передачи данных между различными стадиями выполнения шейдера;
  • Новые OpenGL-расширения (уровень совместимости с оборудованием указан для карт NVIDIA):
    • Возможна поддержка оборудованием, совместимым с OpenGL 2:
      • ARB_compressed_texture_pixel_storage
      • ARB_conservative_depth
      • ARB_internalformat_query
      • ARB_map_buffer_alignment
      • ARB_shading_language_420pack
      • ARB_texture_storage
    • Возможна поддержка оборудованием, совместимым с OpenGL 3:
      • ARB_base_instance
      • ARB_shading_language_packing
      • ARB_transform_feedback_instanced
    • Возможна поддержка оборудованием, совместимым с OpenGL 4:
      • ARB_shader_atomic_counters
      • ARB_shader_image_load_store
      • ARB_texture_compression_bptc


Источник: http://www.opennet.ru/opennews/art.shtml?num=31434