Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

OpenGL - это ориентированный на компьютер компьютер (например, 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

Ответ 3

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

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


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

Ответ 4

Определение консорциума (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.