Различия между WebGL и OpenGL - PullRequest
       13

Различия между WebGL и OpenGL

30 голосов
/ 11 декабря 2011

Может кто-нибудь дать мне простой ответ о точной разнице между OpenGL и WebGL?Мне нужно более конкретизировать следующее: семантика программирования, наследование API, расширения API и т. Д.

Я просматривал следующий сайт, но он мне не очень понятен: http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

Ответы [ 4 ]

40 голосов
/ 11 декабря 2011

WebGL - это «OpenGL ES 2», а не обычный OpenGL (ES означает «для встраиваемых систем»). Так что есть первое отличие. OpenGL ES по сути является подмножеством OpenGL. Кроме того, WebGL почти такой же, как OpenGL ES 2, но имеет некоторые тонкие различия, объясненные в предоставленной вами ссылке. К этой ссылке добавить нечего, это довольно четкое объяснение различий между OpenGL ES 2 и Webgl.

27 голосов
/ 05 января 2012

OpenGL - это компьютерно-ориентированный API для настольных компьютеров (например, Direct3D).WebGL является производным от OpenGL ES 2.0 (предназначенного для мобильных устройств), который обладает меньшими возможностями и более прост в использовании.

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

В отличие от OpenGL, WebGL не требует поддержки собственного драйвера.Оболочка с именем ANGLE , которую Safari, Chrome и Firefox могут использовать для перевода вызовов WebGL и GLSL либо в OpenGL / GLSL, либо в Direct3D / HLSL

Подробный ответ см. В вики Khronos: http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

8 голосов
/ 11 декабря 2011

WebGL предназначен для работы в браузере (веб-приложения).

WebGL - это библиотека программного обеспечения, которая расширяет возможности языка программирования JavaScript, позволяя ему генерироватьинтерактивная трехмерная графика в любом совместимом веб-браузере.
...
Он использует элемент холста HTML5 и доступен через интерфейсы объектной модели документа.Автоматическое управление памятью предоставляется как часть языка JavaScript.


OpenGL обычно используется в настольных приложениях.Это кросс-языковая, кросс-платформенная спецификация, из которой WebGL является более или менее подмножеством.

2 голосов
/ 27 сентября 2016

Консорциум (https://www.khronos.org/webgl/) определение приводится ниже.

WebGL - это кроссплатформенный бесплатный веб-стандарт для низкоуровневого API-интерфейса для трехмерной графики на основе OpenGL ES 2.0, представленный через элемент HTML5 Canvas в качестве интерфейсов объектной модели документа. Разработчики, знакомые с OpenGL ES 2.0, распознают WebGL как основанный на шейдерах API, использующий GLSL, с семантически подобными конструкциями базового API OpenGL ES 2.0. Он очень близок к спецификации OpenGL ES 2.0, с некоторыми уступками, сделанными для того, что разработчики ожидают от языков с управлением памятью, таких как JavaScript.

OpenGL и WebGL имеют сходную семантику, но кодируются на разных языках. На базовом уровне вы увидите, что большинство различий заключаются в языковых конструкциях C / C ++ и JavaScript

.

WebGL и OpenGL показывает сходство между этими двумя понятиями: OpenGL в C / C ++ и WebGL в JavaScript.

...