Основы WebGL
English Français 日本語 한국어 Polski Portuguese Русский 简体中文
Изучение WebGL с нуля. Не прибегая к магии.
Здесь представлены статьи, которые помогут освоить WebGL, начиная с базовых понятий. Это НЕ изложение устаревшего материала OpenGL другими словами, что часто можно встретить в сети. Здесь собраны абсолютно новые статьи, без устаревших идей, и они помогут вам полностью разобраться, чем на самом деле является WebGL и как он работает.
Если вам интересен WebGL2, посмотрите на webgl2fundamentals.org
- Основы
- Основы WebGL
- Как работает WebGL
- Шейдеры и GLSL в WebGL
- WebGL State Diagram
- Обработка изображений
- Обработка изображений в WebGL
- Продолжаем обработку изображений в WebGL
- Математика переноса, поворота и масштабирования в 2D
- 2D-перенос в WebGL
- 2D-поворот в WebGL
- 2D-масштабирование в WebGL
- 2D-матрицы в WebGL
- 3D
- WebGL 3D — Ортогональ
- WebGL 3D — Перспектива
- WebGL 3D — Камеры
- Освещение
- WebGL 3D — Направленное освещение
- WebGL 3D — Точечное освещение
- WebGL 3D — Прожектор
- Структура и устройство
- WebGL — Меньше кода, больше веселья
- WebGL — Отрисовка нескольких объектов
- WebGL — Графы сцены
- Геометрия
- WebGL 3D — Создание модели
- Loading .
obj files
- Loading .obj w .mtl files
- Текстуры
- WebGL 3D — Текстуры
- WebGL — Данные для текстур
- WebGL — Использование 2 и более текстур
- WebGL — Кросс-доменные изображения
- WebGL 3D — Перспективная коррекция текстур
- Planar and Perspective Projection Mapping
- Рендеринг в текстуру
- WebGL — Рендеринг в текстуру
- Shadows
- Shadows
- Приёмы
- 2D
- WebGL 2D — DrawImage
- WebGL 2D — Стек матриц
- Sprites
- 3D
- Cubemaps
- Environment maps
- Skyboxes
- Skinning
- Fog
- Picking (clicking on stuff)
- Текст
- WebGL текст — HTML
- WebGL текст — Canvas 2D
- WebGL текст — Используем текстуру
- WebGL текст — Используем глиф-текстуру
- Текстуры
- Ramp Textures (Toon Shading)
- GPGPU
- GPGPU
- Tips
- Smallest Programs
- Drawing Without Data
- Shadertoy
- Pulling Vertices
- Optimization
- Indexed Vertices (gl.
drawElements)
- Instanced Drawing
- WebGL Установка и настройка
- Шаблон WebGL
- Изменение размера Canvas в WebGL
- WebGL — Анимация
- Points, Lines, and Triangles
- Multiple Views, Multiple Canvases
- Visualizing the Camera
- WebGL и прозрачность
- WebGL — 2D и 3D библиотеки
- WebGL — Антипаттерны
- WebGL Matrices vs Math Matrices
- Precision Issues
- Taking a screenshot
- Prevent the Canvas Being Cleared
- Get Keyboard Input From a Canvas
- Use WebGL as Background in HTML
- Cross Platform Issues
- Questions and Answers
- Reference
- Attributes
- Framebuffers
- readPixels
- References
- Документация по вспомогательным функциям
- TWGL, лёгкая библиотека-помощник для WebGL
- github
WebGL | это.

HTML |
---|
|
WebGL[2] (Web-based Graphics Library) — это библиотека для программного обеспечения, которая расширяет возможности языка программирования JavaScript, позволяя ему создавать интерактивную 3D графику внутри любого совместимого с ней веб-браузера. Код на WebGL выполняется с помощью видеокарты.
WebGL — это контекст элемента canvas HTML, который обеспечивает API 3D графику без использования плагинов.[3] Спецификация версии 1.0 была выпущена 3 марта 2011 года.[4] Некоммерческая Khronos Group управляет работой WebGL.
Содержание
|
Дизайн
WebGL построена на основе OpenGL ES 2.0 и обеспечивает API для 3D графики.[5] Она использует элемент HTML5 canvas, также ей доступен интерфейс Document Object Model. Автоматическое управление памятью предоставляется языком JavaScript.[3]
Реализация
Компьютерные браузеры
- Mozilla Firefox — WebGL был включен во все платформы, у которых есть нужная графическая карта с обновленными драйверами, начиная с версии 4.
- Google Chrome — WebGL включен по умолчанию во все версии начиная с 9.[7]
- Safari — Safari поддерживает WebGL, но поддержка отключена по умолчанию.[8]
- Opera — WebGL реализован в последней версии Opera 12.00
- Internet Explorer — Microsoft не заявляла об официальной поддержке WebGL. Плагины Chrome Frame и IEWebGL предусматривают опции, необходимые для поддержки WebGL в Internet Explorer.
- Maemo 5 — официально функционирует в стандартном браузере Maemo 5 с выходом Maemo 5 PR1.2 в мае 2011 года.
Мобильные браузеры
Nokia N900 — WebGL доступен в обновленном встроенном ПО PR 1.2.[9] Mag200 — WebGL доступен в прошивке 0.2.12.
Рабочая группа
В состав рабочей группы, разрабатывающей стандарт, входят: Khronos Group, разработчики браузеров Apple Safari, Google Chrome, Mozilla Firefox и Opera, а также специалисты AMD и Nvidia[10].
История
WebGL возник из экспериментов над Canvas 3D, которые устраивал Vladimir Vukićević из Mozilla. Vladimir Vukićević впервые продемонстрировал прототип Canvas 3D в 2006 году. В конце 2007 года и Mozilla[11], и Opera[12] создали свои собственные отдельные реализации.
В начале 2009 года Mozilla и Khronos организовали рабочую группу WebGL.[13]10 декабря 2009 года консорциум опубликовал первую черновую спецификацию WebGL[10][14]. Председатель группы Арун Ранганатан, заявил, что завершение работы над спецификацией ожидается в первом квартале 2010 года[10][14]. Окончательная ревизия первой редакции спецификаций была представлена 3 марта 2011 года в Сан-Франциско[1][15][16]. Было показано в мае 2011, что в WebGL имеются существенные слабые места в безопасности, такие как отказ в обслуживании и разрешение скриптовых атак.[17]
Электронные учебные пособия
Для изучения WebGL можно воспользоваться такими учебными пособиями, как Mozilla Developer Network и Learning WebGL (eng) (русский перевод).
Безопасность
В мае 2011 года служба безопасности Context Information Security опубликовала отчет, который детально разбирает несколько проблем с безопасностью в текущих реализациях WebGL от Google Chrome и Mozilla Firefox, и вообще в самой спецификации WebGL как таковой. Согласно отчету, WebGL позволяет полным по Тьюрингу программам, появившимся на компьютере из Интернета, добраться до привилегированного режима графических драйверов и оборудования. Отчет также снабжен ссылками на примеры действий, создающих проблемы с безопасностью; эти действия способны вызывать отказ от обслуживания и воровство меж-доменных изображений. Отчет завершается тем, что «браузеры, в которых WebGL встроен и включен по умолчанию, подвергают пользователя риску, созданному благодаря данным проблемам.»[18]
Позже United States Computer Emergency Readiness Team (US-CERT) опубликовала предупреждение о том, что «WebGL содержит множество существенных проблем с безопасностью. Влияние этих проблем включает в себя произвольное выполнение кода, отказ от обслуживания и меж-доменные атаки. » US-CERT также призывал «пользователей и администраторов просмотреть отчет Context и отключать WebGL, чтобы постараться уменьшить риск».[19]
Группа Khronos, которая включает в себя Mozilla и Google Chrome, ответила на беспокойства, предлагая возможные решения и будущие методы разработки.[20] После просмотра отчета Context Mozilla решила убрать поддержку меж-доменных изображений в Firefox; в это время группа Khronos обновила спецификацию WebGL, чтобы улучшить защиту от отказа от обслуживания и атак на открытые ресурсы.[21] В настоящее время предложенные решения все еще находятся на стадии разработки и не распространены повсеместно производителями GPU.[22]
Context была не довольна решением группы Khronos сделать шаг, зафиксировав WebGL, и решила, что это решение не эффективно по отношению к поставленным проблемам.[23] В последующей статье Context снабжает читателей еще большим количеством примеров уязвимости системы безопасности в последних реализациях WebGL на различных платформах. Признаки этих проблем стоят в ряду неисправностей начиная с разрушения системы и заканчивая утечкой информации. Context продолжает задавать вопрос, была ли WebGL специфицирована, разработана и реализована с учетом службы безопасности.[21]
В июне 2011 года Microsoft заявил, что они не могут одобрить WebGL в его текущей форме с точки зрения безопасности. Исследование, проведенное командой инженеров MSRC, привело к заключению, что поддержка WebGL в продуктах Microsoft имела бы трудности с исполнением требований Security Development Lifecycle — стандарты безопасности для программного обеспечения, принятые внутри Microsoft. Microsoft ссылается на чрезмерно позволенную незащищенность функциональности оборудования и непроверенные возможности защиты от отказа от обслуживания, как на их ключевые проблемы.[24]
Apple показали, что они не откроют доступ WebGL в основные страницы Интернета на iOS5. WebGL будет доступен только через iAds, который должен быть утвержден для каждой реализации Apple. [25]
Известные независимые эксперты по безопасности и графике (в частности Джон Кармак[26] и Дэн Каминский[27]) утверждают, что WebGL — это серьёзный риск для безопасности и будет тяжело это изменить.
Вице-президент по техническим стратегиям Mozilla Марк Шавер забраковал критику Microsoft. В посте своего блога он написал, что Mozilla работала над проблемами с адресацией в спецификации WebGL и реализации для Firefox. Он подчеркнул, что веб нуждался в 3D возможностях, и заявил, что проблемы с безопасностью присущи новым технологиям. Он рекомендовал работу Microsoft над Direct3D API, используемый в Silverlight 5, которую он оценил как надежную, но добавил, что та же технология могла бы быть перенесена со стороны Microsoft и на реализацию WebGL.[28]
Библиотеки
Для разработки WebGL используется несколько библиотек. Библиотека WebGLU была первой, которая была сделана общедоступной.[29] Другие библиотеки, объединенные в WebGL, включают в себя GLGE, C3DL, Copperlicht, SpiderGL, gwt-g3d — G3D (обертка WebGL) для GWT (Google Web Toolkit), SceneJS, X3DOM, Processing. js, Three.js, Turbulenz, OSGJS, XB PointStream и CubicVR.js.
ANGLE (Almost Native Graphics Layer Engine) — это текущий общедоступный проект, выпущенный под лицензией BSD, которая позволяет переводить содержимое WebGL в OpenGL ES 2.0, вызывать API DirectX 9, которые взаимодействуют с платформами Microsoft Windows без необходимости в дополнительных драйверах OpenGL.
См. также
- O3D
- GLSL
- VRML
- X3D
- Java OpenGL
Примечания
- ↑ 1 2 Khronos Releases Final WebGL 1.0 Specification (англ.). Khronos (3 марта 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 4 марта 2011.
- ↑ Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet
- ↑ 1 2 WebGL — OpenGL ES 2.0 for the Web. Khronos.org. Архивировано из первоисточника 12 апреля 2012.
- ↑ Khronos Releases Final WebGL 1.0 Specification. Архивировано из первоисточника 12 апреля 2012. Проверено 3 марта 2011.
- ↑ WebGL Specification. Khronos.org. Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
- ↑ Mozilla Firefox 4 Release Notes
- ↑ Google releases Chrome 9; comes with Google Instant, WebGL — FierceCIO:TechWatch
- ↑ New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more | FairerPlatform
- ↑ suihkulokki WebGL on N900. Suihkulokki.blogspot.com (7 июня 2010). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
- ↑ 1 2 3 Khronos опубликовала черновой вариант WebGL // Lenta.ru, 11.12.2009
- ↑ Canvas 3D: GL power, web-style.
Blog.vlad1.com. Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
- ↑ Taking the canvas to another dimension. My.opera.com (26 ноября 2007). Архивировано из первоисточника 12 апреля 2012.
Проверено 14 мая 2011. - ↑ Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet. Khronos.org (4 августа 2009). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
- ↑ 1 2 WebGL 3D web standard reaches draft stages // Techradar
- ↑ Kurt Bakke WebCL To Enable GPU-Accelerated Web Apps (англ.). ConceivablyTech (3 марта 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 4 марта 2011.
- ↑ Accent Khronos публикует спецификации WebGL 1.0 — ускорение 3D-графики для web-страниц без подключаемых модулей (рус.
- ↑ Context. Contextis.co.uk (9 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
- ↑ Forshaw, James WebGL — A New Dimension for Browser Exploitation. Context Information Security (8 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
- ↑ WebGL Security Risks. US-CERT (10 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
- ↑ WebGL — Security. Khronos Group (17 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 19 июня 2011.
- ↑ 1 2 WebGL – More WebGL Security Flaws. Context Information Security (16 июня 2011). Архивировано из первоисточника 12 апреля 2012.
Проверено 16 июня 2011.
- ↑ WebGL Security. Khronos Group (9 мая 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 11 мая 2011.
- ↑ Context WEbGL security FAQ. Context Information Security. Архивировано из первоисточника 12 апреля 2012. Проверено 16 мая 2011.
- ↑ WebGL Considered Harmful. Microsoft (16 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 16 июня 2011.
- ↑ Microsoft, Apple Dis WebGL. InformationWeek (16 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 20 июня 2011.
- ↑ Carmack, John Tweet (17 июня 2011). Архивировано из первоисточника 21 февраля 2012. Проверено 20 июня 2011.
- ↑ Kaminsky, Dan Tweet (16 июня 2011). Архивировано из первоисточника 21 февраля 2012.
Проверено 20 июня 2011.
- ↑ Mozilla rejects Microsoft criticism of WebGL. The Inquirer (20 июня 2011). Архивировано из первоисточника 12 апреля 2012. Проверено 29 июня 2011.
- ↑ Benjamin DeLillo First WebGLU release. Bjartr.blogspot.com (2 октября 2009). Архивировано из первоисточника 12 апреля 2012. Проверено 14 мая 2011.
Ссылки
- Официальный сайт (англ.).
- The Khronos Group: Open Standards, Royalty Free, Dynamic Media Technologies (англ.).
- Спецификация WebGL (англ.) (В настоящее время, черновик от 08 августа 2011 года).
- Preview of WebGL (англ.) на YouTube.
- WebGL interactive models (англ.)
- Демо-приложение: человеческое тело (англ.)
- www.DoesMyBrowserSupportWebGL.com
- WebGL Demo from Google Chromium
- WebGL Demo from Google Chromium (old site)
- EndlessForms.com See the power of WebGL by comparing this site (where you can evolve objects) in Chrome and Safari.
WebGL — трехмерная графика Canvas
Могу ли я использовать
Поиск?
WebGL — 3D-графика на холсте
— ПРОЧЕЕГлобальное использование
98,12% + 0% знак равно 98,12%
Способ создания динамической 3D-графики с использованием JavaScript, аппаратно ускоренный
Chrome
- 4 — 7: не поддерживается
- 8 — 32: Поддерживается
- 33 — 106: Поддерживается
- 107: Поддерживается
- 108 — 110: Поддерживается
Edge
- 12 — 18: 180015
- 05% — Supported»>. : Поддерживается
- 107: Поддерживается
SAFARI
- 3.1 — 5: Не поддерживается
- 5.1 — 7.1: Поддерживается
- 8 — 16,0: Поддержка
- 16.1: Поддержка
- 4 16 16.2 -xoxered
- 16.1: Поддержка
- 16 16.2 -xoxered.
- 2 — 3,6: не поддерживается
- 4 — 23: Поддерживается
- 24 — 105: Поддерживается
- 106: поддержан
- 107 — 108: поддержан
Opera
- 1194499
- 111944
- 111944
- 19 — 91: Поддерживается
- 92: Поддерживается
- 5,5: Не поддерживается
- 6 — 10: не поддерживается (но имеет полифил. Хром для Android
- 107: Supported
Safari on iOS
- 3.2 — 7.1: Not supported
- 8 — 16.0: Supported
- 16.1: Supported
Samsung Internet
- 4 — 18.0: Supported
- 19.0: Supported
Opera Mini
- 03% — Not supported»> all: Not supported
Opera Mobile
- 10 — 11.5: Not supported
- 12 — 12.1: Supported
- 72: Supported
UC Browser for Android
- 13.4: Supported
Android Browser
- 2.1 — 4.4.4: Not supported
- 107: Supported
Firefox for Android
- 106: Supported
QQ Browser
- 13,1: Поддерживается
Baidu Browser
- 13,18: Поддерживается
KAIOS BROUSER
- 04% — Supported»> 2.5: Поддержанный
Обратите внимание, что WebGL является частью Khronos Group, а не W3C.
- Ресурсы:
- Инструкции по включению WebGL
- Polyfill для IE
- Сообщение в блоге Firefox
- Учебное пособие
WebGL Browser Report, WebGL Fingerprinting, WebGL 2 API Test
1 любой совместимый веб-браузер без использования плагинов. Приложения WebGL состоят из управляющего кода, написанного на JavaScript, и кода специальных эффектов, который выполняется на графическом процессоре компьютера. Элементы WebGL можно смешивать с другими элементами HTML и комбинировать с другими частями страницы или фоном страницы.
Отчет браузера WebGL проверяет поддержку WebGL в вашем веб-браузере, создает отпечатки пальцев устройства WebGL и показывает другие возможности WebGL и графического процессора, более или менее связанные с идентификатором веб-браузера.
08489Your Web Browser
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0 WebGL Support Detection
Этот браузер поддерживает WebGL × False (JavaScript disabled) This browser supports WebGL 2 × False (JavaScript disabled) gl.copyBufferSubData gl.getBufferSubData gl.blitFramebuffer gl.framebufferTextureLayer gl.getInternalformatParameter gl.invalidateFramebuffer gl.invalidateSubFramebuffer gl.readBuffer gl.renderbufferStorageMultisample gl. texStorage2D
gl.texStorage3D gl.texImage3D gl.texSubImage3D gl.copyTexSubImage3D gl.compressedTexImage3D gl.compressedTexSubImage3D gl.getFragDataLocation gl.uniform1ui gl.uniform2ui gl.uniform3ui gl.uniform4ui gl .uniform1uiv gl.uniform2uiv gl.uniform3uiv gl.uniform4uiv gl.uniformMatrix2x3fv gl.uniformMatrix3x2fv gl.uniformMatrix2x4fv gl.uniformMatrix4x2fv gl.uniformMatrix3x4fv gl. uniformMatrix4x3fv
gl.vertexAttribI4i gl.vertexAttribI4iv gl.vertexAttribI4ui gl.vertexAttribI4uiv gl.vertexAttribIPointer gl.vertexAttribDivisor gl.drawArraysInstanced gl.drawElementsInstanced gl.drawRangeElements gl .drawBuffers gl.clearBufferiv gl.clearBufferuiv gl.clearBufferfv gl.clearBufferfi gl.createQuery gl.deleteQuery gl.isQuery gl.beginQuery gl.endQuery GL.GETQUERY GL. GETQUERYPARAMETER
GL.CREATESAMPLER 0201010101010101010101010101010101010101010101010101010101010101010101019.0199 gl.isSampler gl.bindSampler gl.samplerParameteri gl.samplerParameterf gl.getSamplerParameter gl.fenceSync gl.isSync gl.deleteSync gl.clientWaitSync gl.waitSync8 gl.getSyncParameter gl.createTransformFeedback gl.deleteTransformFeedback gl.isTransformFeedback gl.bindTransformFeedback gl.beginTransformFeedback gl.endTransformFeedback gl. transformFeedbackVaryings
gl.getTransformFeedbackVarying gl.pauseTransformFeedback gl.resumeTransformFeedback gl.bindBufferBase gl.bindBufferRange gl.getIndexedParameter gl.getUniformIndices gl.getActiveUniforms gl.getUniformBlockIndex gl.getActiveUniformBlockParameter gl.getActiveUniformBlockName gl.uniformBlockBinding gl.createVertexArray gl.deleteVertexArray gl.isVertexArray gl.bindVertexArray Контекстная информация WebGL
Поддерживаемые названия контекста 0681 GL Version VERSION Shading Language Version SHADING_LANGUAGE_VERSION Vendor VENDOR Renderer RENDERER Antialiasing getContextAttributes(). antialias
ANGLE Почти собственный механизм графического слоя Major Performance Caveat failIfMajorPerformanceCaveat Debug Renderer Info
Unmasked Vendor UNMASKED_VENDOR_WEBGL Unmasked Renderer UNMASKED_RENDERER_WEBGL WebGL Отпечаток пальца
Хэш отчета WebGL н/д WebGL Image Hash n/a WebGL Image n/a Vertex Shader
Max Vertex Attributes MAX_VERTEX_ATTRIBS Максимальное количество однородных векторов вершин MAX_VERTEX_UNIFORM_VECTORS Максимальное количество единиц изображения текстуры вершин MAX_VERTEX_TEXTURE_IMAGE_UNITS Max Varying Vectors MAX_VARYING_VECTORS Best Float Precision getShaderPrecisionFormat(VERTEX_SHADER) Max Vertex Uniform Components: MAX_VERTEX_UNIFORM_COMPONENTS Max Vertex Равномерные блоки: MAX_VERTEX_UNIFORM_BLOCKS Максимальное количество выходных компонентов вершин: MAX_VERTEX_OUTPUT_COMPONENTS Max Varying Components: MAX_VARYING_COMPONENTS Transform Feedback
Max Interleaved Components: MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS Max Separate Attribs: MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS Максимальное количество отдельных компонентов: MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS Rasterizer
Aliased Line Width Range ALIASED_LINE_WIDTH_RANGE Aliased Point Size Range ALIASED_POINT_SIZE_RANGE Fragment Shader
Максимальное количество однородных векторов фрагментов MAX_FRAGMENT_UNIFORM_VECTORS Max Texture Image Units MAX_TEXTURE_IMAGE_UNITS Float/Int Precision: getShaderPrecisionFormat(FRAGMENT_SHADER, HIGH_FLOAT/HIGH_INT) Best Float Precision getShaderPrecisionFormat(FRAGMENT_SHADER) Компоненты Max Fragment Uniform: MAX_FRAGMENT_UNIFORM_COMPONENTS Max Fragment Uniform Blocks: MAX_FRAGMENT_UNIFORM_BLOCKS Max Fragment Input Components: MAX_FRAGMENT_INPUT_COMPONENTS Min Program Texel Offset: MIN_PROGRAM_TEXEL_OFFSET Max Program Texel Offset: MAX_PROGRAM_TEXEL_OFFSET Буфер кадра
Max Draw Buffers: MAX_DRAW_BUFFERS Max Color Attachments: MAX_COLOR_ATTACHMENTS Max Samples: MAX_SAMPLES Max Color Buffers: MAX_DRAW_BUFFERS_WEBGL Биты RGBA [RED_BITS, GREEN_BITS, BLUE_BITS, ALPHA_BITS] Биты глубины/трафарета: [DEPTH_BITS, STENCIL_BITS] Max Render Buffer Size MAX_RENDERBUFFER_SIZE Max Viewport Dimensions MAX_VIEWPORT_DIMS Textures
Max Texture Size MAX_TEXTURE_SIZE Макс. размер текстуры кубической карты
MAX_CUBE_MAP_TEXTURE_SIZE Max Combined Texture Image Units MAX_COMBINED_TEXTURE_IMAGE_UNITS Max Anisotropy MAX_TEXTURE_MAX_ANISOTROPY_EXT Max 3D Texture Size: MAX_3D_TEXTURE_SIZE Max Array Texture Layers: MAX_ARRAY_TEXTURE_LAYERS Максимальное смещение LOD текстуры: MAX_TEXTURE_LOD_BIAS Uniform Buffers
Max Uniform Buffer Bindings: MAX_UNIFORM_BUFFER_BINDINGS Max Uniform Block Size: MAX_UNIFORM_BLOCK_SIZE Uniform Buffer Offset Alignment: UNIFORM_BUFFER_OFFSET_ALIGNMENT Максимальное количество комбинированных блоков униформы: MAX_COMBINED_UNIFORM_BLOCKS Max Combined Vertex Uniform
Components:MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS Max Combined Fragment Uniform
Components:MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS WebGL Extensions
Supported WebGL Extensions
Поддерживаемые привилегированные расширения{OES_texture_float; OES_texture_half_float; WEBGL_lose_context; OES_стандартные_производные; OES_vertex_array_object; WEBGL_debug_renderer_info; WEBGL_debug_shaders; WEBGL_compressed_texture_s3tc; WEBGL_глубина_текстуры; OES_element_index_uint; EXT_texture_filter_anisotropic; EXT_фраг_глубина; WEBGL_draw_buffers; ANGLE_instanced_arrays; OES_texture_float_linear; OES_texture_half_float_linear; EXT_blend_minmax; EXT_shader_texture_lod; WEBGL_compressed_texture_atc; WEBGL_compressed_texture_pvrtc; EXT_color_buffer_half_float; WEBGL_color_buffer_float; EXT_sRGB; WEBGL_compressed_texture_etc1; EXT_disjoint_timer_query; WEBGL_compressed_texture_etc; WEBGL_compressed_texture_astc; EXT_color_buffer_float; EXT_disjoint_timer_query_webgl2; WEBGL_общие_ресурсы; WEBGL_security_чувствительные_ресурсы; OES_fbo_render_mipmap; WEBGL_compressed_texture_s3tc_srgb; WEBGL_get_buffer_sub_data_async; EXT_clip_cull_distance; EXT_float_blend; EXT_texture_storage; OES_EGL_image_external; WEBGL_отладка; WEBGL_динамическая_текстура; WEBGL_мультипросмотр; WEBGL_subarray_uploads; OES_глубина34; WEBGL_debug_shader_precision; WEBGL_draw_elements_no_range_check; WEBGL_subscribe_uniform; WEBGL_текстура_из_глубины_видео; WEBGL_compressed_texture_es3; WEBGL_compressed_texture_astc_ldr; EXT_draw_buffers} Что такое отпечатки пальцев WebGL
Существует два вида отпечатков пальцев WebGL, которые вы можете увидеть:
Хэш отчета WebGL и поддерживаемые расширения.
Хэш берется из самого высокого поддерживаемого дампа контекста WebGL.
Хэш изображения WebGL
Хэш массива пикселей, созданный с помощью отрисовки градиентного шейдера WebGL. Функция рисования заимствована из библиотеки Fingerprintjs2, в настоящее время исследуется процент уникальности сгенерированного изображения.
Метод получения хэша использует только WebGL API и не зависит от различий браузеров в экспорте toDataURL PNG, поэтому этот отпечаток может быть одинаковым в разных браузерах на одном устройстве.
Как включить или отключить WebGL в вашем веб-браузере , выполните простые шаги:
- В адресной строке введите
about:config
, без http:// или www - Нажмите кнопку с надписью «Я буду осторожен, обещаю!»
- В поле Search введите
webgl.disabled
string - Переключите
webgl.disabled
на true , чтобы отключить WebGL, или на false , чтобы включить WebGL, пожалуйста, не путайте.
WebGL 2.0:
Чтобы включить WebGL 2 в Firefox, перейдите по адресу
about:config
и переключитеwebgl.enable-webgl2
на true .WebGL 2 включен по умолчанию, начиная с Firefox 51.
WebGL в Chrome
WebGL поддерживается и включен по умолчанию, начиная с Chrome 8.
Чтобы отключить WebGL, запустите Google Chrome с помощью одной из этих команд. -line options:
-
--disable-webgl
отключить WebGL -
--disable-3d-apis
отключить все видимые клиенту 3D API, в частности WebGL и Pepper 3D
Эти инструкции действительны для всех веб-браузеров на основе Chromium, точно так же, как вы можете настроить WebGL в Opera и Vivaldi.
WebGL 2.0:
Чтобы включить WebGL 2 в Chrome, откройте
chrome://flags/
, найдите флагWebGL 2.0
и переключите его на Enabled .-
.
