Константы материалов

Эти константы определяют свойства, общие для всех типов материалов, за исключением операций объединения текстур, которые применяются только к MeshBasicMaterial и MeshLambertMaterial.

Сторона

v3d.FrontSide v3d.BackSide v3d.DoubleSide v3d.TwoPassDoubleSide

Определяет, с какой стороны будут отрисовываться полигоны: спереди, сзади или с обеих. По умолчанию FrontSide.

Константа TwoPassDoubleSide рендерит двусторонние материалы в двух отдельных стадиях, в порядке задний-передний, что позволяет устранить ряд артефактов прозрачности.

Режимы смешивания

v3d.NoBlending v3d.NormalBlending v3d.AdditiveBlending v3d.SubtractiveBlending v3d.MultiplyBlending v3d.CustomBlending

Они управляют уравнениями смешивания источника и получателя для RGB и Alpha материала, отправляемыми в WebGLRenderer для использования WebGL. NormalBlending используется по умолчанию. Обратите внимание, что для использования CustomBlending необходимо установить пользовательские константы уравнения смешивание (см. ниже).

Режимы глубины

v3d.NeverDepth v3d.AlwaysDepth v3d.EqualDepth v3d.LessDepth v3d.LessEqualDepth v3d.GreaterEqualDepth v3d.GreaterDepth v3d.NotEqualDepth

Функция глубины, которую материал использует для сравнения Z-глубины входящих пикселей с текущим значением Z-буфера глубины. Если результат сравнения true, пиксель будет отрисован.

Операции объединения текстур

v3d.MultiplyOperation v3d.MixOperation v3d.AddOperation

Они определяют, как результат цвета поверхности объединяется с картой окружения (если она присутствует), для MeshBasicMaterial и MeshLambertMaterial.

Функции шаблонов

v3d.NeverStencilFunc v3d.LessStencilFunc v3d.EqualStencilFunc v3d.LessEqualStencilFunc v3d.GreaterStencilFunc v3d.NotEqualStencilFunc v3d.GreaterEqualStencilFunc v3d.AlwaysStencilFunc

Какую функцию шаблона использует материал для определения необходимости выполнения операции шаблона.

Операции с шаблонами

v3d.ZeroStencilOp v3d.KeepStencilOp v3d.ReplaceStencilOp v3d.IncrementStencilOp v3d.DecrementStencilOp v3d.IncrementWrapStencilOp v3d.DecrementWrapStencilOp v3d.InvertStencilOp

Какую операцию шаблона материал выполнит с пикселем буфера шаблона, если предоставленная функция шаблона пройдет.

Тип карты нормалей

v3d.TangentSpaceNormalMap v3d.ObjectSpaceNormalMap

Определяет тип карты нормалей. Для TangentSpaceNormalMap информация о нормалях определяется относительно поверхности. Для ObjectSpaceNormalMap информация о нормалях определяется относительно поворота объекта. По умолчанию используется TangentSpaceNormalMap.

Версия GLSL

v3d.GLSL1 v3d.GLSL3

Пользовательские константы уравнения смешивания

Они работают со всеми типами материалов. Сначала установите режим смешивания материала в v3d.CustomBlending, затем задайте нужное уравнение смешивания, фактор источника и фактор назначения.

Пример

const material = new v3d.MeshBasicMaterial({color: 0x00ff00}); material.blending = v3d.CustomBlending; material.blendEquation = v3d.AddEquation; // по умолчанию material.blendSrc = v3d.SrcAlphaFactor; // по умолчанию material.blendDst = v3d.OneMinusSrcAlphaFactor; // по умолчанию

Уравнения смешивания

v3d.AddEquation v3d.SubtractEquation v3d.ReverseSubtractEquation v3d.MinEquation v3d.MaxEquation

Факторы источника

v3d.ZeroFactor v3d.OneFactor v3d.SrcColorFactor v3d.OneMinusSrcColorFactor v3d.SrcAlphaFactor v3d.OneMinusSrcAlphaFactor v3d.DstAlphaFactor v3d.OneMinusDstAlphaFactor v3d.DstColorFactor v3d.OneMinusDstColorFactor v3d.SrcAlphaSaturateFactor

Факторы назначения

Все коэффициенты источника действительны как коэффициенты назначения, за исключением v3d.SrcAlphaSaturateFactor.

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

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