Основы 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 | это.
.. Что такое 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
- 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
- 10 — 11.5: Not supported
- 12 — 12.1: Supported
- 72: Supported
- 13.4: Supported
- 2.1 — 4.4.4: Not supported
- 107: Supported
- 106: Supported
- 13,1: Поддерживается
- 13,18: Поддерживается
- Ресурсы:
- Инструкции по включению WebGL
- Polyfill для IE
- Сообщение в блоге Firefox
- Учебное пособие
Хэш отчета WebGL и поддерживаемые расширения. Хэш берется из самого высокого поддерживаемого дампа контекста WebGL.
Хэш изображения WebGL
Хэш массива пикселей, созданный с помощью отрисовки градиентного шейдера WebGL. Функция рисования заимствована из библиотеки Fingerprintjs2, в настоящее время исследуется процент уникальности сгенерированного изображения.
Метод получения хэша использует только WebGL API и не зависит от различий браузеров в экспорте toDataURL PNG, поэтому этот отпечаток может быть одинаковым в разных браузерах на одном устройстве.
- В адресной строке введите
about:config
, без http:// или www - Нажмите кнопку с надписью «Я буду осторожен, обещаю!»
- В поле Search введите
webgl.disabled
string - Переключите
webgl.disabled
на true , чтобы отключить WebGL, или на false , чтобы включить WebGL, пожалуйста, не путайте. 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 .-
- 111944
.
12 — 18: ПоддержаноIE
Opera Mobile
UC Browser for Android
Android Browser
Firefox for Android
QQ Browser
Baidu Browser
KAIOS BROUSER
- 04% — Supported»> 2.5: Поддержанный
Обратите внимание, что WebGL является частью Khronos Group, а не W3C.
WebGL Browser Report, WebGL Fingerprinting, WebGL 2 API Test
1 любой совместимый веб-браузер без использования плагинов. Приложения WebGL состоят из управляющего кода, написанного на JavaScript, и кода специальных эффектов, который выполняется на графическом процессоре компьютера. Элементы WebGL можно смешивать с другими элементами HTML и комбинировать с другими частями страницы или фоном страницы.
Отчет браузера WebGL проверяет поддержку WebGL в вашем веб-браузере, создает отпечатки пальцев устройства WebGL и показывает другие возможности WebGL и графического процессора, более или менее связанные с идентификатором веб-браузера.
Your 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 2.0:
Чтобы включить WebGL 2 в Firefox, перейдите по адресу about:config
и переключите webgl.enable-webgl2
на true .
WebGL 2 включен по умолчанию, начиная с Firefox 51.