Эти константы определяют свойства, общие для всех типов материалов, за исключением операций объединения текстур, которые применяются только к 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
Какую операцию шаблона материал выполнит с пикселем буфера шаблона, если предоставленная функция шаблона пройдет.
0
.1
.1
.1
. Если значение увеличится после 255
, оно будет установлено в 0
.1
. Если значение уменьшится ниже 0
, оно будет установлено в 255
.
v3d.TangentSpaceNormalMap
v3d.ObjectSpaceNormalMap
Определяет тип карты нормалей. Для TangentSpaceNormalMap информация о нормалях определяется относительно поверхности. Для ObjectSpaceNormalMap информация о нормалях определяется относительно поворота объекта. По умолчанию используется TangentSpaceNormalMap.
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
.
О том как получить исходный код этого модуля читайте тут.