WebGLRenderer отображает сцены с помощью технологии WebGL.
null.
"highp", "mediump" или "lowp". По умолчанию "highp", если данная точность поддерживается устройством.
true значение будет равно 0, иначе 1. По умолчанию false.
true.
false.
true.
false.
"high-performance", "low-power" или "default". По умолчанию "default". Смотрите подробности в спецификации WebGL.
false. Смотрите подробности в спецификации WebGL.
true.
false.
Определяет, должен ли рендерер автоматически очищать свой вывод перед рендерингом кадра.
Если autoClear равно true, определяет, должен ли рендерер очищать буфер цвета. По умолчанию true.
Если autoClear равно true, определяет, должен ли рендерер очищать буфер глубины. По умолчанию true.
Если autoClear равно true, определяет, должен ли рендерер очищать буфер стенсила. По умолчанию true.
Объект с параметрами отладки:
true.false.Объект, содержащий подробную информацию о возможностях текущего RenderingContext.
true если floatFragmentTextures и vertexTextures оба true.true если используемый контекст является объектом WebGL2RenderingContext.true если logarithmicDepthBuffer было установлено true в конструкторе и контекст поддерживает расширениеEXT_frag_depth.gl.MAX_VERTEX_ATTRIBS.gl.MAX_CUBE_MAP_TEXTURE_SIZE. Максимальная высота × ширина текстур карты куба, которые может использовать шейдер.gl.MAX_FRAGMENT_UNIFORM_VECTORS. Количество юниформов, которые может использовать фрагментный шейдер.gl.MAX_SAMPLES. Максимальное количество семплов, используемых для мультисемплинга (MSAA).gl.MAX_TEXTURE_SIZE. Максимальная высота × ширина текстуры, которую использует шейдер.gl.MAX_TEXTURE_IMAGE_UNITS. Максимальное количество текстур, которое может быть использовано шейдером.gl.MAX_VARYING_VECTORS. Количество изменяющихся векторов, которые могут использоваться шейдерами.gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS. Количество текстур, которые могут быть использованы в вершинном шейдере.gl.MAX_VERTEX_UNIFORM_VECTORS. Максимальное количество юниформов, которое может быть использовано в вершинном шейдере.true если # .maxVertexTextures : Integerбольше чем 0 (т.е. можно использовать текстуры в вершинном шейдере).Определяемые пользователем плоскости сечения, заданные как объекты Plane в мировом пространстве. Эти плоскости применяются глобально.Точки в пространстве, чье скалярное произведение с плоскостью отрицательно, отсекаются. По умолчанию [].
Элемент холста, в который рендерер производит отрисовку. Он автоматически создается рендерером в конструкторе (если не был создан до этого), так что вам остаётся только добавить его на вашу страницу, например:
document.body.appendChild(renderer.domElement);
get(extensionName : String): Проверяет, поддерживается ли расширение extensionName и возвращает объект с параметрами этого расширения, в случае если оно поддерживается.
has(extensionName : String): Проверяет, поддерживается ли расширение extensionName.
Эти методы поддерживают следующие расширения:
ANGLE_instanced_arraysEXT_blend_minmaxEXT_color_buffer_floatEXT_color_buffer_half_floatEXT_disjoint_timer_query_webglEXT_disjoint_timer_query_webgl2EXT_sRGBEXT_texture_compression_bptcEXT_texture_filter_anisotropicKHR_parallel_shader_compileOES_element_index_uintOES_standard_derivativesOES_texture_floatOES_texture_float_linearOES_texture_half_floatOES_texture_half_float_linearOES_vertex_array_objectWEBGL_compressed_texture_etcWEBGL_compressed_texture_etc1WEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_s3tcWEBGL_debug_renderer_infoWEBGL_depth_textureWEBGL_draw_buffersWEBGL_lose_contextWEBGL_multisampled_render_to_textureОпределяет выходную кодировку рендерера. По умолчанию v3d.LinearEncoding.
Если цель рендеринга была установлена с помощью .setRenderTarget, то вместо нее будет использоваться renderTarget.texture.encoding.
Подробности о других форматах смотрите на странице текстурные константы.
Объект, содержащий ряд статистических сведений о памяти графической карты и процессе рендеринга. Полезен для отладки и получения дополнительной информации. Объект содержит следующие поля:
Определяет, использует ли рендерер плоскости отсечения на уровне отдельных объектов. По умолчанию false.
Используется внутри рендерера для отслеживания различных свойств внутренних объектов.
Используется внутренне для обработки рендеринга объектов сцены.
Содержит ссылку на карту теней, если она используется.
true, данная карта теней используется на сцене. По умолчанию false.
true. Если вам не требуется динамическое освещение/тени, вы можете установить значение false при инстанцировании рендерера.
true, карты теней в сцене будут обновлены в следующем вызове отрисовки. По умолчанию false. Если вы отключили автоматическое обновление карт теней (shadowMap.autoUpdate = false), вам нужно установить значение true и затем выполнить вызов рендеринга для обновления теней в вашей сцене.
Определяет, должен ли рендерер сортировать объекты. По умолчанию true.
Примечание: сортировка используется для того, чтобы попытаться правильно отобразить объекты, имеющие некоторую степень прозрачности. По определению, сортировка объектов может работать не во всех случаях. В зависимости от потребностей приложения, может потребоваться отключить сортировку и использовать другие методы для работы с рендерингом прозрачности, например, вручную определять порядок рендеринга каждого объекта.
Содержит функции для установки различных свойств состояния WebGLRenderer.context.
По умолчанию NoToneMapping. Другие варианты смотрите в разделе константы рендерера.
Уровень экспозиции тонального маппинга. По умолчанию 1.
Предоставляет доступ к WebXR-интерфейсу рендерера.
Дает команду рендереру очистить буфер(ы) цвета, глубины или шаблона. Этот метод инициализирует буфер цвета текущим значением цвета очистки.
Все аргументы принимают по умолчанию значение true.
Очистить цветовой буфер. Эквивалентно вызову .clear(true, false, false).
Очистить буфер глубины. Эквивалентно вызову .clear(false, true, false).
Очистить буфер шаблона. Эквивалентно вызову .clear(false, false, true).
Компилирует все материалы в сцене с камерой. Это полезно для предварительной компиляции шейдеров перед первым рендерингом.
Асинхронно компилирует все материалы в сцене с камерой. Это полезно для предварительной компиляции шейдеров перед первым рендерингом. Дополнительная функция progressCb получает параметр percentage.
Копирует пиксели из текущего WebGLFramebuffer в 2D текстуру. Позволяет получить доступ к WebGLRenderingContext.copyTexImage2D.
Копирует все пиксели текстуры в существующую текстуру, начиная с заданной позиции. Позволяет получить доступ к WebGLRenderingContext.texSubImage2D.
Копирует все пиксели текстуры ограниченной sourceBox в существующую текстуру, начиная с заданной позиции. Позволяет получить доступ к WebGL2RenderingContext.texSubImage3D.
Освобождает все связанные с GPU ресурсы, используемые экземпляром рендерера. Этот метод следует вызвать, если экзепляр рендерера больше не используется в приложении.
Имитирует потерю WebGL-контекста. Для этого требуется поддержка расширения WEBGL_lose_context.
Имитирует восстановление WebGL-контекста. Для этого требуется поддержка расширения WEBGL_lose_context.
Возвращает значение альфа-канала цвета очистки. Диапазон от 0 до 1.
Возвращает экземпляр Color с текущим цветом очистки.
Возвращает текущий контекст WebGL.
Возвращает объект, описывающий атрибуты, установленные для контекста WebGL при его создании.
Возвращает текущую активную грань кубической карты.
Возвращает текущий активный мипмап-уровень .
Возвращает текущий рендер таргет, если он есть. В противном случае возвращает null.
target — результат будет скопирован в этот вектор.
Возвращает текущий вьюпорт.
target — результат будет скопирован в этот вектор.
Возвращает ширину и высоту буфера отрисовки рендерера, в пикселях.
Возвращает текущее используемое соотношение пикселей устройства.
target — результат будет скопирован в этот вектор.
Возвращает область ножниц.
Возвращает true, если тест ножниц включен; возвращает false в противном случае.
target — результат будет скопирован в этот вектор.
Возвращает ширину и высоту выходного холста рендерера, в пикселях.
target — результат будет скопирован в этот Vector4.
Возвращает область просмотра.
Инициализирует заданную текстуру. Полезно для предварительной загрузки текстуры вместо ожидания первого рендера (который может вызвать заметные задержки из-за накладных расходов на декодирование и загрузку GPU).
Сбрасывает состояние WebGL на значение по умолчанию. Вызывается внутренне, если контекст WebGL потерян.
buffer — Uint8Array является единственным тип назначения, поддерживаемым во всех случаях, другие типы зависят от renderTarget и платформы. Подробности смотрите в спецификации WebGL.
Считывает пиксельные данные из renderTarget в переданный вам буфер. Это обертка вокруг WebGLRenderingContext.readPixels().
Для считывания WebGLCubeRenderTarget используйте необязательный параметр activeCubeFaceIndex, чтобы определить, какая грань должна быть считана.
buffer — Uint8Array является единственным тип назначения, поддерживаемым во всех случаях, другие типы зависят от renderTarget и платформы. Подробности смотрите в спецификации WebGL.
Считывает пиксельные данные из renderTarget в переданный вам буфер. Это асинхронная версия метода .readRenderTargetPixels с увеличенной производительностью.
Для считывания WebGLCubeRenderTarget используйте необязательный параметр activeCubeFaceIndex, чтобы определить, какая грань должна быть считана.
Рендерит сцену или другой объект с помощью камеры.
Рендеринг выполняется на ранее указанную renderTarget, установленную вызовом .setRenderTarget или на холст, как обычно.
По умолчанию буферы рендеринга очищаются перед рендерингом, но вы можете предотвратить это, установив свойство autoClear в false. Если вы хотите предотвратить очистку только определенных буферов, вы можете установить свойства autoClearColor, autoClearStencil или autoClearDepth в false. Чтобы принудительно очистить один или несколько буферов, вызовите .clear.
Может использоваться для сброса внутреннего состояния WebGL. Этот метод наиболее актуален для приложений, которые используют один контекст WebGL в нескольких библиотеках WebGL.
callback — функция будет вызываться каждый доступный кадр. Если передано null, это остановит любую уже идущую анимацию.
Встроенная функция, которая может быть использована вместо requestAnimationFrame. Для проектов WebXR необходимо использовать эту функцию.
Устанавливает значение альфа-канала цвета очистки. Допустимый диапазон параметра от 0.0 до 1.0.
Устанавливает цвет (и альфа-канал) очистки.
Устанавливает соотношение пикселей устройства. Обычно используется для дисплеев с высокой плотностью пикселей.
null, то вместо него в качестве активной цели рендеринга устанавливается холст.Этот метод устанавливает активный рендер таргет.
Задаёт параметры x, y, width, height области ножниц. Опционально можно подать 4-компонентный вектор, задающий те же параметры.
Устанавливает область ножниц от (x, y) до (x + width, y + height), где (x, y) — левый нижний угол области ножниц.
Включает или отключает тест ножниц. Если этот параметр включен, только пиксели в пределах определенной области будут затронуты при отрисовке.
Устанавливает функцию сортировки непрозначных объектов для WebGLRenderLists. Передайте null, чтобы использовать стандартную функцию painterSortStable.
Устанавливает функцию сортировки прозрачных объектов для WebGLRenderLists. Передайте null, чтобы использовать стандартную функцию reversePainterSortStable.
Изменяет размер выводимого холста до (ширина, высота) с учетом соотношения пикселей устройства, а также устанавливает область вьюпорта в соответствии с этим размером, начиная с (0, 0). Установка updateStyle в false предотвращает любые изменения стиля выводимого холста.
Параметры x, y, width, height определяют область вьюпорта. Опционально можно подать 4-компонентный вектор, задающий те же параметры.
Устанавливает область вьюпорта от (x, y) до (x + width, y + height), где (x, y) — левый нижний угол области.
О том как получить исходный код этого модуля читайте тут.