. 1 3 4 5 6 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z А Б В Г Д Е З И К Л М Н О П Р С Т У Х Ц Ч

OpenGL

OpenGL (Open Graphics Library) — спецификация, определяющая платформонезависимый (независимый от языка программирования) программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику. Разрабатывался в США и Европе, имел тип лицензий GNU.

OpenGL включал более 300 функций для рисования сложных трёхмерных сцен из простых примитивов. Использовался при создании компьютерных игр, САПР, виртуальной реальности, визуализации в сфере научных исследованиях и АСНИ. На платформе Windows в своё время даже конкурировал с Direct3D.

Несмотря на значительный вклад в развитие графических технологий, OpenGL больше не развивается и был заменён на Vulkan API, который предлагает более эффективное взаимодействие с аппаратным обеспечением и современные возможности для работы с графикой. Последняя версия OpenGL выпущена в 2017 году.

Особенно следует отметить, что на базовом уровне OpenGL — это просто спецификация, то есть документ, описывающий набор функций и их точное поведение. Производители оборудования на основе этой спецификации создают реализации — библиотеки функций, соответствующих набору функций спецификации. Реализация призвана эффективно использовать возможности оборудования. Если аппаратура не позволяет реализовать какую-либо возможность, она должна быть эмулирована программно. Производители аппаратуры проходят ряд специфических тестов, прежде чем реализация будет классифицирована как OpenGL-реализация. Так как разработчикам программного обеспечения достаточно научиться использовать функции, описанные в спецификации, их реализация остаётся разработчикам аппаратного обеспечения.

 

Эффективные реализации OpenGL существуют для Windows, Unix-платформ и Mac OS. Эти реализации обычно предоставляются изготовителями видеоадаптеров и активно используют возможности последних. Существуют также открытые реализации спецификации OpenGL, одной из которых является библиотека Mesa. Из лицензионных соображений Mesa является «неофициальной» реализацией OpenGL, хотя полностью с ней совместима на уровне кода и поддерживает как программную эмуляцию, так и аппаратное ускорение при наличии соответствующих драйверов.

 

Спецификация OpenGL пересматривается консорциумом ARB (Architecture Review Board), который был сформирован в 1992 году. Консорциум состоит из компаний, заинтересованных в создании широко распространённого и доступного API. Согласно официальному сайту OpenGL, членами ARB с решающим голосом на ноябрь 2004 года являются производители профессиональных графических аппаратных средств SGI, 3Dlabs, Matrox и Evans & Sutherland (военные приложения), производители потребительских графических аппаратных средств ATI и NVIDIA, производитель процессоров Intel, и изготовители компьютеров и компьютерного оборудования IBM, Apple, Dell, Hewlett-Packard и Sun Microsystems, а также один из лидеров компьютерной игровой индустрии id Software. Microsoft, одна из основоположников консорциума, покинула его в марте 2003 года. Помимо постоянных членов, каждый год приглашается большое количество других компаний, становящихся частью OpenGL ARB в течение одного года. Такое большое количество  компаний, вовлеченных в разнообразный круг интересов, позволило OpenGL стать общепризнанным прикладным интерфейсом широкого назначения с большим количеством возможностей.

OpenCL и OpenGL – это два разных API, предназначенные для разработки программного обеспечения в области компьютерной графики и параллельного программирования. Вот основные различия между ними:
OpenCL (Open Computing Language) – это фреймворк для параллельного программирования на различных устройствах, таких как центральные процессоры (CPU), графические процессоры (GPU) и ускорители. Он предоставляет возможность разработки и запуска вычислительных программ на различных устройствах, используя один и тот же код.
OpenGL (Open Graphics Library) – это API для разработки программного обеспечения в области компьютерной графики. Он предоставляет открытый стандарт для рендеринга двумерной и трехмерной графики на экране. OpenGL позволяет программистам создавать сложные визуальные эффекты, анимацию и 3D модели.
Таким образом, основное различие между OpenCL и OpenGL заключается в их целях использования: OpenCL предназначен для параллельного программирования на различных устройствах, в то время как OpenGL – для разработки программного обеспечения в области компьютерной графики.

Обсуждение закрыто.