Webgl draft extensions что это
Перейти к содержимому

Webgl draft extensions что это

  • автор:

Использование расширений WebGL

WebGL,, как и его сестра APIs (OpenGL и OpenGL ES),, поддерживает расширения. Полный список расширений доступен в khronos webgl extension registry .

Примечание: в WebGL,, в отличие от других расширений GL APIs,, они доступны только при явном запросе.

Канонические имена расширений, префиксы поставщиков и предпочтения

Расширения могут поддерживаться поставщиками браузеров до их официальной ратификации (но только если они находятся в черновике stage).. В этом случае их имя может начинаться с префикса поставщика ( MOZ_ , WEBKIT_ , etc.) или расширение доступно только после переключения предпочтений браузера.

Если вы хотите работать с новейшими расширениями и хотите продолжить работу после ратификации (при условии, конечно, что расширение не изменится в несовместимом ways),, вы запрашиваете каноническое имя расширения, а также имя расширения поставщика. Например:

const ext = gl.getExtension("OES_vertex_array_object") || gl.getExtension("MOZ_OES_vertex_array_object") || gl.getExtension("WEBKIT_OES_vertex_array_object");

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

  • webgl.enable-draft-extensions в Firefox
  • chrome://flags/#enable-webgl-draft-extensions в браузерах на базе Chromium (Chrome, Opera).

Naming conventions

Расширения WebGL имеют префикс «ANGLE», «OES», «EXT» или «WEBGL». Эти префиксы отражают происхождение и назначение:

  • ANGLE_ : Расширения, написанные авторами ANGLE library .
  • OES_ и KHR_ : расширения, отражающие функциональные возможности OpenGL ES (OES) или OpenGL API, одобренные соответствующими советами по анализу архитектуры (Khronos)..
  • OVR_ : расширения, оптимизированные для виртуальной реальности.
  • EXT_ : расширения, которые отражают другие расширения OpenGL ES или OpenGL API.
  • WEBGL_ : расширения WebGL-specific, предназначенные для совместимости с несколькими веб-браузерами. Его также следует использовать для расширений, созданных с помощью OpenGL ES или OpenGL APIs,, но поведение которых было значительно изменено.

Запрос доступных расширений

Контекст WebGL поддерживает запросы о доступных расширениях.

const available_extensions = gl.getSupportedExtensions();

Метод WebGLRenderingContext.getSupportedExtensions() возвращает массив строк, по одной для каждого поддерживаемого расширения.

Extension list

  • ANGLE_instanced_arrays
  • EXT_blend_minmax
  • EXT_color_buffer_float
  • EXT_color_buffer_half_float
  • EXT_disjoint_timer_query
  • EXT_float_blend Experimental
  • EXT_frag_depth
  • EXT_shader_texture_lod
  • EXT_sRGB
  • EXT_texture_compression_bptc
  • EXT_texture_compression_rgtc
  • EXT_texture_filter_anisotropic
  • EXT_texture_norm16
  • KHR_parallel_shader_compile
  • OES_draw_buffers_indexed
  • OES_element_index_uint
  • OES_fbo_render_mipmap
  • OES_standard_derivatives
  • OES_texture_float
  • OES_texture_float_linear
  • OES_texture_half_float
  • OES_texture_half_float_linear
  • OES_vertex_array_object
  • OVR_multiview2
  • WEBGL_color_buffer_float
  • WEBGL_compressed_texture_astc
  • WEBGL_compressed_texture_etc
  • WEBGL_compressed_texture_etc1
  • WEBGL_compressed_texture_pvrtc
  • WEBGL_compressed_texture_s3tc
  • WEBGL_compressed_texture_s3tc_srgb
  • WEBGL_debug_renderer_info
  • WEBGL_debug_shaders
  • WEBGL_depth_texture
  • WEBGL_draw_buffers
  • WEBGL_lose_context
  • WEBGL_multi_draw

Включение расширения

Прежде чем расширение можно будет использовать, его необходимо активировать с помощью WebGLRenderingContext.getExtension() . Например:

const float_texture_ext = gl.getExtension("OES_texture_float");

Возвращаемое значение — null , если расширение не поддерживается, или объект расширения в противном случае.

Extension objects

Если расширение определяет определенные символы или функции, недоступные в базовой спецификации WebGL,, они будут доступны в объекте расширения, возвращаемом вызовом gl.getExtension() .

See also

  • WebGLRenderingContext.getSupportedExtensions()
  • WebGLRenderingContext.getExtension()
  • webglreport.com

Using WebGL extensions

WebGL, like its sister APIs (OpenGL and OpenGL ES), supports extensions. A complete list of extensions is available in the khronos webgl extension registry.

Note: In WebGL, unlike in other GL APIs, extensions are only available if explicitly requested.

Canonical extension names, vendor prefixes and preferences

Extensions may be supported by browser vendors before being officially ratified (but only when they are in draft stage). In that case, their name can be prefixed by the vendor prefix ( MOZ_ , WEBKIT_ , etc.) or the extension is only available once a browser preference has been toggled.

If you wish to work with the bleeding edge of extensions, and want to keep working on upon ratification (assuming, of course, that the extension doesn’t change in incompatible ways), that you query the canonical extension name as well as the vendor extension name. For instance:

const ext = gl.getExtension("OES_vertex_array_object") || gl.getExtension("MOZ_OES_vertex_array_object") || gl.getExtension("WEBKIT_OES_vertex_array_object"); 

Note that, vendor prefix have been discouraged thus most browser implement experimental extensions behind a feature flag rather than vendor prefix.

The feature flags are:

  • webgl.enable-draft-extensions in Firefox
  • chrome://flags/#enable-webgl-draft-extensions in Chromium based browsers (Chrome, Opera).

Naming conventions

WebGL extensions are prefixed with «ANGLE», «OES», «EXT» or «WEBGL». These prefixes reflect origin and intent:

  • ANGLE_ : Extensions that are written by the ANGLE library authors.
  • OES_ and KHR_ : Extensions that mirror functionality from OpenGL ES (OES) or OpenGL API extensions approved by the respective architecture review boards (Khronos).
  • OVR_ : Extensions that optimize for virtual reality.
  • EXT_ : Extensions that mirror other OpenGL ES or OpenGL API extensions.
  • WEBGL_ : Extensions that are WebGL-specific and intended to be compatible with multiple web browsers. It should also be used for extensions which originated with the OpenGL ES or OpenGL APIs, but whose behavior has been significantly altered.

Querying available extensions

The WebGL context supports querying what extensions are available.

const available_extensions = gl.getSupportedExtensions(); 

The WebGLRenderingContext.getSupportedExtensions() method returns an array of strings, one for each supported extension.

Extension list

The current extensions are:

  • ANGLE_instanced_arrays
  • EXT_blend_minmax
  • EXT_color_buffer_float
  • EXT_color_buffer_half_float
  • EXT_disjoint_timer_query
  • EXT_float_blend Experimental
  • EXT_frag_depth
  • EXT_shader_texture_lod
  • EXT_sRGB
  • EXT_texture_compression_bptc
  • EXT_texture_compression_rgtc
  • EXT_texture_filter_anisotropic
  • EXT_texture_norm16
  • KHR_parallel_shader_compile
  • OES_draw_buffers_indexed
  • OES_element_index_uint
  • OES_fbo_render_mipmap
  • OES_standard_derivatives
  • OES_texture_float
  • OES_texture_float_linear
  • OES_texture_half_float
  • OES_texture_half_float_linear
  • OES_vertex_array_object
  • OVR_multiview2
  • WEBGL_color_buffer_float
  • WEBGL_compressed_texture_astc
  • WEBGL_compressed_texture_etc
  • WEBGL_compressed_texture_etc1
  • WEBGL_compressed_texture_pvrtc
  • WEBGL_compressed_texture_s3tc
  • WEBGL_compressed_texture_s3tc_srgb
  • WEBGL_debug_renderer_info
  • WEBGL_debug_shaders
  • WEBGL_depth_texture
  • WEBGL_draw_buffers
  • WEBGL_lose_context
  • WEBGL_multi_draw

Enabling an extension

Before an extension can be used it has to be enabled using WebGLRenderingContext.getExtension() . For example:

const float_texture_ext = gl.getExtension("OES_texture_float"); 

The return value is null if the extension is not supported, or an extension object otherwise.

Extension objects

If an extension defines specific symbols or functions that are not available in the core specification of WebGL, they will be available on the extension object returned by the call to gl.getExtension() .

See also

  • WebGLRenderingContext.getSupportedExtensions()
  • WebGLRenderingContext.getExtension()
  • webglreport.com

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on Feb 22, 2023 by MDN contributors.

Your blueprint for a better internet.

Надо же! API WebGL заблокирован: как устранять в домашних условиях

Говорят, что по состоянию на сегодня браузером Chrome регулярно пользуются более половины всех интернет-юзеров. Скольким из них знакома ошибка «Надо же! API WebGL заблокирован», мы не знаем, но в этом посте речь пойдет о том, как её устранять.

Что такое WebGL?

Если очень коротко, то WebGL или Web-based Graphics Library — это такой JavaScript API, то бишь библиотека, с помощью которой видеокарта компьютера отображает в Интернете так называемый графический контент высокой четкости.

Данная библиотека разработана и поддерживается некоммерческой организацией, которая называется Khronos Group.

Другими словами, чтобы Chrome должным образом показывал вам 2D- и 3D-изображения из интернета ему как раз и нужна WebGL, которая этот самый контент помогает браузеру показывать в том числе и за счет привлечения ресурса видеокарты компа и безо всяких плагинов и прочих дополнительных программных инструментов.

В общем, WebGL — штука хоть и незаметная, но очень важная. Потому когда браузер начинает выдавать «Надо же!» и работать нормально не хочет, то это заметно сразу, и мириться с данным фактом не получается никак. Так что, далее о том.

как устранять ошибку «Надо же! API WebGL заблокирован» в браузере Chrome?

Более-менее понятных и реализуемых силами обычного юзера способов мы подсобрали сразу четыре. Применять их можно как по одному, так и все скопом, но по очереди. Должно помочь.

Итак, если имеет место быть ошибка WebGL в браузере Chrome, то пробуем следующее:

#1 — отключаем аппаратное ускорение в Chrome:

  • открываем браузер;
  • заходим в «Настройки» (3 точки в углу справа либо вставляем в адресную строку chrome://settings/);
  • прокручиваем окно в самый низ и кликаем «Дополнительные«;
  • снова скроллим окно вниз до раздела «Система«, в котором находим и отключаем опцию «Использовать аппаратное ускорение (при наличии)«;
  • перезагружаем браузер.

#2 — отключаем WebGL Draft Extensions

  • открываем Chrome;
  • в адресную строку пишем или копируем chrome://flags и жмем Enter;
  • в строке поиска пишем WebGL Draft Extensions и потом просто переводим функцию в «Disabled» (кнопка справа);
  • перезагружаем браузер.

#3 — перезапускаем Chrome

  • открываем Chrome;
  • заходим в «Настройки» (3 точки в углу справа либо вставляем в адресную строку chrome://settings/);
  • кликаем кнопку «Настройки» в левом верхнем углу экрана;
  • в меню жмем «Сброс настроек и удалению вредоносного ПО«.

#4 — обновляем и/или переустанавливаем Chrome

  • открываем Chrome;
  • заходим в «Настройки» (3 точки в углу справа либо вставляем в адресную строку chrome://settings/);
  • кликаем кнопку «Настройки» в левом верхнем углу экрана;
  • в самом низу меню находим и жмем «О браузере Chrome» и далее:

А) …ждем немного пока (или если) Chrome найдет и скачает обнову и после её установки перезагружаем браузер, либо…

Б) удаляем Chrome совсем и потом по новой устанавливаем его с официального сайта (вот ссылка). Способ, конечно, радикальный, но зато ошибку «Надо же! API WebGL заблокирован» устраняет на раз.

Что такое WebGl на Google Chrome. У гугла в магазине есть игры,некотоыре игры когда запускаю выдает ошибку WebGl

WebGL (Web-based Graphics Library) – это библиотека для программного обеспечения, которая расширяет возможности языка программирования JavaScript, позволяя ему создавать интерактивную 3D графику внутри любого совместимого с ней веб-браузера!

Попробуйте обновить хром. или откатить обновление наоборот. были факты проблем с вебгл у последних версий этого браузера

Остальные ответы
а у меня на нова скине пишет веб гл заблокирован что это

Здесь в браузере Хром — восстановите настройки по умолчанию. У меня сработало и помогло! ; )

вы чё
не понимаете
WebGl это плагин

а что делать если у меня в Panzoid так пишет типо:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *