Константы WebGL-рендерера — Софт Эйт Софт
Description: Список констант WebGL-рендерера, используемых в Вердж3Д.

# Константы WebGLRenderer

Эти константы определяют параметры WebGL-рендерера.

- Режимы отбраковки граней
- Типы теней
- Тональный маппинг
- Алгоритмы порядконезависимой прозрачности

#

## Режимы отбраковки граней

`v3d.CullFaceNone v3d.CullFaceBack v3d.CullFaceFront v3d.CullFaceFrontBack`

- CullFaceNone отключает отбраковку граней.
- CullFaceBack включает отбраковку задних граней (по умолчанию).
- CullFaceFront включает отбраковку передних граней.
- CullFaceFrontBack отбраковывает как передние, так и задние грани.

#

## Типы теней

`v3d.BasicShadowMap v3d.BilinearShadowMap v3d.PCFShadowMap v3d.ESMShadowMap`

Они определяют свойство WebGLRenderer shadowMap.type.

- BasicShadowMap отображает карты теней без фильтрации. Это самый быстрый алгоритм, но он даёт самый низкий уровень качества.
- BilinearShadowMap фильтрует карты теней, используя билинейную фильтрацию. Улучшенное качество.
- PCFShadowMapPoissonDisk фильтрует карты теней с помощью алгоритма Percentage-Closer Filtering (PCF) с дополнительным смягчением с помощью случайно вращающегося диска Пуассона. Этот алгоритм используется по умолчанию.
- ESMShadowMap использует алгоритм Exponential Shadow Mapping (ESM) с гауссовым размытием.

#

## Тональный маппинг

`v3d.NoToneMapping v3d.LinearToneMapping v3d.PbrNeutralToneMapping v3d.AgXBlenderToneMapping v3d.FilmicBlenderToneMapping v3d.LogarithmicMaxToneMapping v3d.PhysicalMaxToneMapping v3d.CustomToneMapping`

Они определяют свойство WebGLRenderer toneMapping. Тональных маппинг используется для представления изображения, полученного в режиме высокого динамического диапазона (HDR) на устройстве с низким динамическим диапазоном (мониторе компьютера или экране мобильного устройства).

Все типы маппинга, за исключением `v3d.CustomToneMapping` являются встроенными. `v3d.CustomToneMapping` требует ручного изменения GLSL-кода соответствующего блока фрагментного шейдера:

`v3d.ShaderChunk.tonemapping_pars_fragment = v3d.ShaderChunk.tonemapping_pars_fragment.replace( 'vec3 CustomToneMapping(vec3 color){return color;}', 'vec3 CustomToneMapping(vec3 color){return pow(color, vec3(2.2));}' ); app.renderer.toneMapping = v3d.CustomToneMapping;`

#

## Алгоритмы порядконезависимой прозрачности

`v3d.NoOIT v3d.OITWeighted`

Алгоритм порядконезависимой прозрачности: weighted blended или никакой.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.